Таблица Handson: добавление свойства столбца не отображает данные JSON

У меня есть handsontable, и я пытаюсь отобразить данные Json на handsontable. Ниже приведен код. Проблема, с которой я столкнулся, заключается в том, что если добавить свойство столбца в handsontable, он не будет отображать данные Json в handsontable, но если я его удалю, он будет работать отлично.

$(document).ready(function () {
   objectData = [{ id: "dd1", name: 'bb' }, { id: "dd2", name: 'dd' }];
   // objectData = [["aa", "bb"], ["cc", "dd"]];
   var $container = $("#example");
   $container.handsontable({
        data:objectData,
        rowHeaders: true,
        colHeaders: true,
        columns:[ {type: 'text'}, { type: 'text' }],
    });
});

У меня нет сообщения об ошибке, но он не заполняет handsontable данными JSon (objectData). Кроме того, если я проигнорирую эту часть и попытаюсь ввести значения в ячейку и получить их для последующего сохранения в БД, значения, которые я получаю, представляют собой объединенные значения значения по умолчанию, которое является objectData, и значение, которое я ввел в ячейки.


person Community    schedule 05.05.2015    source источник


Ответы (1)


Если вы укажете опцию columns, вы должны добавить поверх имеющейся у вас опции type опцию data с именем ключа. Вот что вы должны написать, чтобы использовать карты в своих данных:

$(document).ready(function () {
   objectData = [{ id: "dd1", name: 'bb' }, { id: "dd2", name: 'dd' }];
   // objectData = [["aa", "bb"], ["cc", "dd"]];
   var $container = $("#example");
   $container.handsontable({
        data:objectData,
        rowHeaders: true,
        colHeaders: true,
        columns:[ {type: 'text', data: 'id'}, { type: 'text', data: 'name' }],
    });
});

Причина в том, что вы указываете, какие данные использовать для какого столбца. Это происходит из-за того, что объекты javascript расположены не по порядку, поэтому в противном случае не было бы возможности отображать их в правильном порядке.

person ZekeDroid    schedule 05.05.2015