我正在使用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。
答案 0 :(得分:1)
您可以通过select
方法选择第一项。
function onFADataBound(e) {
if (e.sender.dataSource.view().length == 1) {
e.sender.select(1);
}
}
请注意,如果您有optionLabel
(占位符)和1
,则所选项目的索引将为0
。