2017-04-12 49 views
0

我有以下電網:劍道UI MVC電網,autocomplate爲可編輯的列

@(Html.Kendo().Grid<OrderLineViewModel>() 
        .Name("gridOrderLines") 
        .HtmlAttributes(new { @class = "responsiveTable" }) 
        .Columns(columns => 
        { 
         columns.Bound(c => c.Id) 
          .Hidden() 
          .ClientTemplate("#= Id #" + "<input type='hidden' name='OrderLines[#= index(data)#].Id' value='#= Id #' />"); 
         columns.Bound(p => p.Code) 
          .ClientTemplate("#= Code #" + "<input type='hidden' name='OrderLines[#= index(data)#].Code' value='#= Code #' />") 
          .EditorViewData(new { ViewBag.Items }) 
          .EditorTemplateName("AutoComplete"); 

         columns.Bound(p => p.Quantity) 
          .Width(150) 
          .ClientTemplate("#= Quantity #" + "<input type='hidden' name='OrderLines[#= index(data)#].Quantity' value='#= Quantity #' />"); 
         columns.Command(c => 
         { 
          c.Destroy(); 
         }).Width(150); 
        }) 
        .ToolBar(toolbar => 
        { 
         toolbar.Create().Text("Add new Product"); 
        }) 
        .Editable(editable => editable.Mode(GridEditMode.InCell)) 
        .Pageable() 
        .DataSource(dataSource => dataSource 
         .Ajax() 
         .PageSize(5) 
         .ServerOperation(false) 
         .Model(model => 
         { 
          model.Id(y => Convert.ToString(y.Id)); 
         }) 
       ) 
      ) 

及以下EditorTemplate爲自動完成

@(Html.Kendo().AutoComplete() 
     .Name("items") 
     .DataTextField("Code") 
     .Filter(FilterType.StartsWith) 
     .Suggest(true) 
     .Placeholder("Select product...") 
     .BindTo(ViewBag.Items) 
     .MinLength(1) 
     .Height(400) 
     .HeaderTemplate("<div class=\"dropdown-header k-widget k-header\">" + 
         "<span>Code </span>" + 
         "<span>Stock</span>" + 
         "</div>") 
     .FooterTemplate("Total <strong>#: instance.dataSource.total() #</strong> items found") 
     .Template("<span class=\"k-state-default\"><h3>#: data.Code #</h3></span>" + 
       "<span class=\"k-state-default\"><p>#: data.Stock #</p></span>") 
) 

所以自動完成爲我提供了擊鍵的正確數據但在選擇一個項目後,它僅顯示輸入字段關注時的代碼。當我從自動填充字段中刪除焦點時,它隱藏它。有沒有人有一個想法問題來自哪裏?

回答

1

將您的編輯器模板的代碼替換爲以下代碼。希望其作品

@model string 
@(Html.Kendo().AutoCompleteFor(m=>m) 
    .DataTextField("Code") 
    .Filter(FilterType.StartsWith) 
    .Suggest(true) 
    .Placeholder("Select product...") 
    .BindTo(ViewBag.Items) 
    .MinLength(1) 
    .Height(400) 
    .HeaderTemplate("<div class=\"dropdown-header k-widget k-header\">" + 
        "<span>Code </span>" + 
        "<span>Stock</span>" + 
        "</div>") 
    .FooterTemplate("Total <strong>#: instance.dataSource.total() #</strong> items found") 
    .Template("<span class=\"k-state-default\"><h3>#: data.Code #</h3></span>" + 
      "<span class=\"k-state-default\"><p>#: data.Stock #</p></span>"))