Я обновляю slickgrid с помощью этого: dataView.updateItem (args.item.id, row); Но у меня есть ряд строк для обновления одновременно. Так как я могу обновить массив строк в dataview в slickgrid?Обновление более одной строки в dataview в slickgrid
1
A
ответ
1
Вы можете использовать dataView.setItems(data)
следующий
Допустит, intitally у вас есть массив объектов, которые вы переплетены в пятне сетки
var data = [
{'id': 'l1', 'lang': 'Java'},
{'id': 'l2', 'lang': 'JavaScript'},
{'id': 'l3', 'lang': 'C#'},
{'id': 'l4', 'lang': 'Python'}
];
Затем вы можете нажать, как много элементов, которые вы хотите в массиве как следует
data.push({
"id" : "l5",
"lang" : ".net"
});
Затем, используя 'dataView.setItems()' вы ван обновить сетку
// This will fire the change events and update the grid.
dataView.setItems(data);
OR
// You can populate the dataview with new array list if you have any
dataView.setItems(newArray);
3
Я предполагаю, что ваша цель состоит в том, чтобы предотвратить обновления пользовательского интерфейса (дорогой), обновляя несколько строк:
function updateItems (itemsToUpdate) {
dataView.beginUpdate(); // tell your DataView to prevent re-rendering the SlickGrid on every change
itemsToUpdate.forEach(function(item){ // iterate over each item in the array
dataView.updateItem(item.id, item) // update the item's data
});
dataView.endUpdate(); // tell DataView to re-render the SlickGrid with any changes
}