Пользовательский интерфейс Kendo — вставка в источник данных

#kendo-ui #kendo-grid #kendo-asp.net-mvc

#kendo-пользовательский интерфейс #kendo-grid #kendo-asp.net-mvc

Вопрос:

Я использовал Kendo Grid в своем проекте для отображения данных. Здесь, чтобы вставить данные сетки в мой источник данных, я использовал приведенный ниже код. Но в приведенном ниже коде в инструкции insert я указал имя поля grid и присвоил ему значения. Например AMOUNT: objGridData[idx].AMOUNT

Следовательно, мое требование заключается в том, что мне нужно выполнить вставку в моем источнике данных без указания имени поля, поскольку в будущих столбцах сетки могут измениться, например, можем ли мы использовать datasource.add() .

 // Inserts Record to the Grid
for (var idx = 0; idx < objGridData.length; idx  ) {
var newrec= grid.dataSource.insert(idx, {
           AMOUNT: objGridData[idx].AMOUNT,
           id: objGridData[idx].id,
           PERCENT: objGridData[idx].PERCENT,
           PRODUCT1: objGridData[idx].PRODUCT1,
           PRODUCT2: objGridData[idx].PRODUCT2,
           PRODUCT3: objGridData[idx].PRODUCT3,
           PRODUCT4: objGridData[idx].PRODUCT4,

        });
}
  

Любое предложение было бы полезно.

Комментарии:

1. Либо вы идентифицируете столбец по его имени, либо по его индексу. Но я бы не хотел доверять списку, чтобы он все время имел один и тот же порядок. Назовите это так. Если данные в вашей таблице изменяются, просто обновите таблицу.

Ответ №1:

В javascript вы можете получить свойство по его имени в качестве ключа. Итак

 var cols = ["percent"];
var newObj = {};
newObj[cols[0]] = objGridData[0][cols[0]];
grid.dataSource.insert(0, newObj);
  

Надеюсь, вы сможете сделать остальное.