Динамическая сетка интерфейса кендо

Я столкнулся с проблемой с динамически созданной сеткой пользовательского интерфейса кендо. Когда я указываю массив столбцов со свойствами title и field и отображаю сетку, столбцы сетки не отображают указанный title вместо этого они показывают имя field. Я не хочу, чтобы имя поля отображалось как есть, потому что само имя поля не будет иметь смысла в качестве заголовка столбца.

Примечание. Это делается внутри контроллера 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); });

После этого я назначаю это коллекции столбцов сетки

ctrl.commonGridOptions = { columns: columns, };

а затем просто используйте метод данных grid dataSource для заполнения данных.

ctrl.commonGrid.dataSource.data(ctrl.TableData);

Я чешу голову со вчерашнего дня, но не могу понять, что происходит не так.

Может кто-нибудь мне помочь.

Спасибо


person Nilesh    schedule 18.08.2015    source источник


Ответы (1)


Хорошо, я исправил это. Ниже приведен код, который работает должным образом. 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 }); } } }

person Nilesh    schedule 19.08.2015