Как добавить новую строку во вложенную таблицу в табуляторе. js - PullRequest
0 голосов
/ 07 августа 2020

Я создал внутри родительской таблицы такую ​​таблицу: http://tabulator.info/examples/4.7#tree - Проверяйте вложенные таблицы, а не вложенные деревья данных.

Теперь я хочу добавить новую строку в вложенная таблица. Мы можем добавить в родительскую таблицу, используя table.addRow(), но как я могу добавить в дочернюю / вложенную таблицу?

Я использую версию 4.7

1 Ответ

1 голос
/ 09 августа 2020

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

Упрощенный пример:

var table = new Tabulator("#example-table", {
    columns:[
        {title:"Make", field:"make"},
        {title:"Model", field:"model"},
        {title:"Registration", field:"reg"},
        {title:"Color", field:"color"},
    ],
    rowFormatter:function(row){
        //create and style holder elements
       var tableEl = document.createElement("div");

       row.getElement().appendChild(tableEl);

       var subTable = new Tabulator(tableEl, {
           layout:"fitColumns",
           data:row.getData().serviceHistory,
           columns:[
           {title:"Date", field:"date", sorter:"date"},
           {title:"Engineer", field:"engineer"},
           {title:"Action", field:"actions"},
           ]
       })
      
       row.update({subTable:subTable});

    },
});

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

row.getData().subTable.setData({name:"bob", age:52}), add row to nested table inside row.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...