如何将值插入到kendo组合框中

时间:2016-10-21 19:58:04

标签: kendo-ui kendo-asp.net-mvc

如果我有一个包含多于1个值的kendo组合框,我想插入“-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 个答案:

答案 0 :(得分: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-");