【问题标题】:Is it possible to use a slickgrid inside an editor for another slickgrid?是否可以在编辑器中为另一个 slickgrid 使用 slickgrid?
【发布时间】:2012-07-18 13:39:59
【问题描述】:

我想为我的 slickgrid 中的列编写一个自定义编辑器。理想情况下,此编辑器将包含另一个允许用户过滤和选择多个项目的 slickgrid。

  • 有没有人尝试编写包含另一个 slickgrid 实例的编辑器?
  • 有什么我应该避免的问题吗?

【问题讨论】:

    标签: javascript jquery slickgrid


    【解决方案1】:

    我们刚刚完成了这项工作,我们在 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 ,因此它不会与我们在原始网格上设置的编辑器交互。

    【讨论】:

      猜你喜欢
      • 2019-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2011-03-13
      • 2014-01-21
      • 2011-05-09
      • 1970-01-01
      • 2011-05-25
      相关资源
      最近更新 更多