我想将kendo下拉列表添加到我的网格中。 除了一件事,一切都会好起来的。 当我想使用默认的kendo创建工具栏“添加记录”时,我无法绑定从dropdownlist数据源获取的第一个值。
数据源工作正常。下拉列表也可以正常工作。 如果我手动从下拉列表中选择任何内容,一切正常。
$scope.mainGridOptions = {
dataSource: {
transport: ...
schema: ...
},
batch: false,
...
toolbar: ["create"],
columns: [
...,{
field: "location_id",
title: "Location",
editor: function(container,options){
var input = $('<input/>');
input.attr('name',options.field);
input.appendTo(container);
input.kendoDropDownList({
autoBind: true,
dataTextField: "text",
dataValueField: "value",
dataSource: locationsDataSource,
index: 0,
});
}
},
...
]
};
我也试过这个。除了“index”,我试图从dataSource手动选择第一项。在视觉上它工作正常。即使选择了第三项,但是当我点击“更新”时,数据也没有限制。
input.kendoDropDownList({
autoBind: true,
dataTextField: "text",
dataValueField: "value",
dataSource: locationsDataSource,
dataBound: function(e){
this.select(0);
}
});
任何?
答案 0 :(得分:2)
所以,我找到了解决方案。
这似乎是Kendo DropDownList的一个错误。
我在从dropdown dataBound事件加载dataSource后手动绑定它。
我们走了:
editor: function(container,options){
var input = $('<input/>');
input.attr('name',options.field);
input.attr('data-bind','value:' + options.field);
input.appendTo(container);
input.kendoDropDownList({
autoBind: true,
dataTextField: "text",
dataValueField: "value",
dataSource: locationsDataSource,
index: 0,
dataBound: function(){
options.model[options.field] = this.dataItem().value;
}//end databound
});//end dropdownlist
}//end editor