0
我想为我的slickgrid中的一个专栏编写自定义编辑器。理想情况下,此编辑器将包含另一个允许用户筛选和选择多个项目的slickgrid。是否可以在另一个slickgrid的编辑器中使用slickgrid?
- 有没有人试过编写一个包含另一个slickgrid实例的编辑器?
- 我应该避免有什么问题吗?
我想为我的slickgrid中的一个专栏编写自定义编辑器。理想情况下,此编辑器将包含另一个允许用户筛选和选择多个项目的slickgrid。是否可以在另一个slickgrid的编辑器中使用slickgrid?
我们刚刚完成了这个工作,我们在SlickGrid v1.4.3中发现的问题是,由于它们共享GlobalEditorLock状态,所以遇到了两个光滑网格的问题。换句话说,当你从弹出的光滑网格中选择一个项目时,它会触发你在原始网格中设置的处理程序的提交事件。这是困难。我们得到了解决此加入了一个名为disableEditorCommit新选项默认为false,并且改变源在handleClick方法:
if (options.enableCellNavigation && !columns[cell].unselectable) {
// if this is a popup then do not commit edits to the global editor
if (options.disableEditorCommit) {
scrollRowIntoView(row,false);
setSelectedCellAndRow($cell[0], (row === defaultGetLength()) || options.autoEdit);
} else {
// commit current edit before proceeding
if (validated === true || (validated === null && options.editorLock.commitCurrentEdit())) {
scrollRowIntoView(row,false);
setSelectedCellAndRow($cell[0], (row === defaultGetLength()) || options.autoEdit);
}
}
}
,并在handleDblClick方法:
validated = options.disableEditorCommit ? true : options.editorLock.commitCurrentEdit();
我们的弹出slickgrid有disableEditorCommit = true,所以它不会与我们在原始网格上设置的编辑器进行交互。