Как бы я исключил столбцы при извлечении данных из сетки Kendo? - PullRequest
0 голосов
/ 25 января 2019

Я извлекаю все данные из сетки кендо, используя этот вызов в Javascript:

var data = JSON.stringify($(".k-grid").data("kendoGrid").dataSource.data())

Возвращает все свойства в классе C # для этих записей. Есть три свойства, которые я не показывал в презентации Kendo, но они возвращаются к этому вызову (и впоследствии отправляются вместе с вызовом экспорта в CSV).

Как я могу исключить эти столбцы из этого вызова данных?

EDIT:

Следуя примеру @DontVoteMeDown, я попытался сделать из этого функцию:

            function removeKeys(data) {
            let excludedKeys = ['InvoiceId', 'IsOk', 'ErrorMessage'],
                newData = data.map((item) => {
                    let newObj = {};

                    Object.keys(item).forEach(key => {
                        if (excludedKeys.indexOf(key) == -1) {
                            newObj[key] = item[key];
                        }
                    });

                    return newObj;
                });
        }

Однако в консольном отладчике я получаю сообщение об ошибке.

Когда я вызываю последовательность так, я получаю неопределенные «данные»:

    var tableData = $(".k-grid").data("kendoGrid").dataSource.data();

    var dataChop = removeKeys(tableData);

    var data = JSON.stringify(dataChop);

Когда я вызываю эту последовательность, я получаю сообщение об ошибке «data.map не является функцией»:

    var tableData = $(".k-grid").data("kendoGrid").dataSource.data();

    var dataFull = JSON.stringify(tableData);

    var data = removeKeys(dataFull);

Как мне вызвать эту функцию отображения?

1 Ответ

0 голосов
/ 25 января 2019

Простая реализация того, что предложил @ZorgoZ:

let data = [{
  a: 1,
  b: 2,
  c: 3
}, {
  a: 4,
  b: 5,
  c: 6
}];

let excludedKeys = ['c'],
    newData = data.map((item) => {
      let newObj = {};
          
      Object.keys(item).forEach(key => {
          if (excludedKeys.indexOf(key) == -1) {
              newObj[key] = item[key];
          }
      });
   
      return newObj;
   });
   
console.log(newData);

Быть данными вашим dataSource.data().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...