2016-10-21 5 views
0

Если у меня есть поле со списком кендо, которое содержит более одного значения, я хотел бы вставить «-ALL- как DataTextField и« 9999 »в качестве DataValueField. В настоящее время, если у меня есть только в одной записи я использую событие DataBound для проверки этого, и если он = 1, то я загружаю сетку на основе этого значения, но если длина> 1, то я хотел бы добавить -All-. Я не понимаю, вставки, как описано Telerik.Как вставить значение в поле со списком кендо

 @(Html.Kendo().ComboBox() 
     .Name("FAList") 
     .Placeholder("Select Fiscal Agency...") 
     .DataTextField("Text") 
     .DataValueField("Value") 
     .HtmlAttributes(new { style = "width:50%;" }) 
     .Filter("startswith") 
     .AutoBind(true) 
     .MinLength(3) 
     .DataSource(source => 
     { 
      source.Read(read => 
      { 
       read.Action("GetUserAgencyList", "Entities"); 
      }) 
      .ServerFiltering(true); 
     }) 
      .Events(e => e 
      .Change("onFAChange") 
      .DataBound("onFADataBound") 
      ) 
) 

и затем функция для связывания данных

 function onFADataBound(e) { 
    // the agency list dropdown 
    var combobox = $("#FAList").data("kendoComboBox"); 
    // if there is only a single record then set that in the combobox and load the grid based on that 
    if (e.sender.dataSource.view().length == 1) { 
     e.sender.select(0); 
     var filter = this.value(); 
     $.get('/City/CityGrid_Read', { id: filter }, function (data) { 
      var grid = $("#FollowUpGrid").data("kendoGrid"); 
      grid.dataSource.read(); 
     }) 
    } 
    if (e.sender.dataSource.view().length > 1) { 

    } 
} 

ответ

1

Отвеченных на : Adding an item dynamically in kendo combobox

Объединение, что с вашим кодом:

if (e.sender.dataSource.view().length > 1) { 

$("#FAList").data("kendoComboBox").dataSource.add({ Text: "-All-", 
Value: "0" }); 

} 

Что-то подобное! Я надеюсь, что вы получите это реализовать :)

Альтернативой может быть, чтобы изменить шаблонный текст в этом методе событий, где длина> 1

как в примере на: http://www.telerik.com/forums/placeholder-text

$("#FAList").data("kendoComboBox").input.attr("placeholder", "-All-"); 
+0

Я попытался выше предложение и получил список undefined, поэтому я попробовал вставить и снова получил список неопределенных. –

+0

Возможно, попробуйте использовать текст и значение в новой строке кода? Моя другая мысль заключается в том, что после запуска строки для добавления в источник данных попробуйте вызвать метод связывания источника данных в combobox, чтобы он повторно привязывался к недавно добавленному объекту источника данных? Надеюсь, вы заработаете! –

 Смежные вопросы

  • Нет связанных вопросов^_^