如果我有一个包含多于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) {
}
}
答案 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-");