我的应用程序中有两个网格。
var columns1 = [
{
name: "Address",
field: "address"
id: "address",
sortable: true
}
]
var columns2 = [
{
{
name: "Rating, in %",
field: "rating"
id: "rating_percent",
resizable: false
}
]
它们之间是绝对独立的。另外,我在另一个 js
文件中有一些网格事件描述。
grid.onColumnsReordered.subscribe(function (e, args) {
_this.updateHeaderRow();
// here
});
当用户更改列顺序时,我想保存此顺序。我是否应该更改(覆盖)DOM 元素,我的意思是 column1
和 column2
?
所以问题:如何保存列顺序?
最佳答案
njr101 的回答(使用 store.js)很好,但请注意:store.js 不能存储函数(即对于编辑器、格式化程序),所以一旦你 store.get() 列,你就需要添加函数回来,使用你原来的库存“列”数组:
if (store.get('gridColumns')) {
grid.setColumns(store.get('gridColumns')); // Restore settings if available
grid.getColumns().forEach(function(ch) { // Re-create editor and formatter functions
var result = $.grep(columns, function(e){ return e.id == ch.id; });
if (result[0]) {
ch.editor = result[0].editor;
ch.formatter = result[0].formatter;
}
});
}
关于javascript - 如何保存 SlickGrid 列顺序(js)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11240830/