我已经设法在网格初始化之后在剑道网格列上设置选项数组。在初始化期间,我将有问题的列传递给一个空数组,然后在使用JavaScript初始化之后使用对象数组填充此数组。选项对象的类型为{value:1,text:' text'使用'文字'开始显示的值&当选中时翻译成相应的值 - 1。
但是,当网格加载数据时,数值不会转换为相应的文本值,而是显示为数字。有趣的是,当您单击此列类型的单元格时,将执行转换。当网格加载数据时,如何将数值转换为其文本值,是否存在我缺少的选项设置?
var optCategory = [];
$('#grid').kendoGrid({
dataSource: [],
columns: [ { field: 'Category', title: 'Category', width: '100%', values: optCategory } ],
editable: true
});
(function getCategoryValues () {
var grd = $('#grid').data('kendoGrid');
var o = { value: 1, text: 'Option 1' };
grd.columns[0].values.push(o);
var o = { value: 2, text: 'Option 2' };
grd.columns[0].values.push(o);
var o = { value: 3, text: 'Option 3' };
grd.columns[0].values.push(o);
})();
var products = [ { Category: 2 } ];
var ds = new kendo.data.DataSource({
data: products
});
$('#grid').data('kendoGrid').setDataSource(ds);
// $('#grid').data('kendoGrid').dataSource.read(); - no effect
// $('#grid').refresh(); - no effect
http://jsfiddle.net/EddyBu/c7kztssq/2/
谢谢!