如何为kendo组合框分配一个值

时间:2016-10-17 18:20:33

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

我正在使用2016.3.914.440版本的kendo,并对ComboBox有疑问。如果我的数据源只返回一个值,我该如何将其分配给ComboBox,以便用户不需要输入值?我尝试了.SelectIndex(0),但这在所有情况下都有效,所以我想在.DataBound中我会检查记录计数,如果= 1则我想分配给ComboBox。 我的代码如下。

    @(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")
            )

但我不知道如何完成onFADataBound事件

    function onFADataBound(e) {
    var dropdown = $("#FAList").data("kendoComboBox");
    var count = dropdown.dataSource.data().length

    alert('FA Count: ' + count)
}

那么我如何找到数据源记录的文本和值并将其分配给DataTextField和DataValueField。

1 个答案:

答案 0 :(得分:1)

您可以通过select方法选择第一项。

function onFADataBound(e) {
    if (e.sender.dataSource.view().length == 1) {
        e.sender.select(1);
    }
}

请注意,如果您有optionLabel(占位符)和1,则所选项目的索引将为0