动态 Kendo UI 网格
Dynamic Kendo UI Grid
我遇到了动态创建的 kendo UI 网格的问题。
当我使用 title
和 field
属性指定列数组并呈现网格时,网格列不会显示指定的 title
而不是显示 field
名称。我不希望字段名称按原样显示,因为字段名称本身作为列 header 没有意义。
注意:这是在 angular 控制器内完成的。
这是我的网格定义
<div kendo-grid="ctrl.commonGrid" options="ctrl.commonGridOptions"></div>
这是我用来生成列的代码。
var columns = [];
angular.forEach(ctrl.ColumnConfig, function (col) {
var newCol ={
title: col.displayName,
field: col.mappingProperty.toCamelCase(),
}
columns.push(newCol);
});
在此之后,我将其分配给网格列 collection
ctrl.commonGridOptions = {
columns: columns,
};
然后只需使用网格数据源数据方法来填充数据。
ctrl.commonGrid.dataSource.data(ctrl.TableData);
从昨天开始我就一直在摸不着头脑,但一直想不通到底出了什么问题。
谁能帮帮我。
谢谢
好的,我解决了这个问题。以下是按预期工作的代码。 firstRow 只是我从服务器获取的对象列表中的行,columnConfig 是我要显示的列的配置。
for (var property in firstRow) {
if (firstRow.hasOwnProperty(property)) {
model.fields[property] = { type: 'string' };
var col = $.grep(ctrl.columnConfig, function (e) { return e.mappingProperty === property });
if (col.length) {
columns.push({
title: col[0].displayName,
field: col[0].mappingProperty
});
}
}
}
我遇到了动态创建的 kendo UI 网格的问题。
当我使用 title
和 field
属性指定列数组并呈现网格时,网格列不会显示指定的 title
而不是显示 field
名称。我不希望字段名称按原样显示,因为字段名称本身作为列 header 没有意义。
注意:这是在 angular 控制器内完成的。
这是我的网格定义
<div kendo-grid="ctrl.commonGrid" options="ctrl.commonGridOptions"></div>
这是我用来生成列的代码。
var columns = [];
angular.forEach(ctrl.ColumnConfig, function (col) {
var newCol ={
title: col.displayName,
field: col.mappingProperty.toCamelCase(),
}
columns.push(newCol);
});
在此之后,我将其分配给网格列 collection
ctrl.commonGridOptions = {
columns: columns,
};
然后只需使用网格数据源数据方法来填充数据。
ctrl.commonGrid.dataSource.data(ctrl.TableData);
从昨天开始我就一直在摸不着头脑,但一直想不通到底出了什么问题。
谁能帮帮我。
谢谢
好的,我解决了这个问题。以下是按预期工作的代码。 firstRow 只是我从服务器获取的对象列表中的行,columnConfig 是我要显示的列的配置。
for (var property in firstRow) {
if (firstRow.hasOwnProperty(property)) {
model.fields[property] = { type: 'string' };
var col = $.grep(ctrl.columnConfig, function (e) { return e.mappingProperty === property });
if (col.length) {
columns.push({
title: col[0].displayName,
field: col[0].mappingProperty
});
}
}
}