【问题标题】:Start editing in a specific cell in an ExtJs 3.4 grid在 ExtJs 3.4 网格中的特定单元格中开始编辑
【发布时间】:2012-02-24 21:08:10
【问题描述】:

在我的网格中,我添加了一个行编辑器作为插件(使用new Ext.ux.grid.RowEditor())。我想将焦点放在特定记录中的特定列上。

这就是我现在拥有的: editor.startEditing(record);;

它开始编辑并将焦点放在第一个字段上,但我想定义一个不同的字段。在网上搜索我看到人们有类似的东西:editor.startEditing(record, column)editor.startEdit(record, column) 第一个似乎不起作用,后一个功能不存在。

该解决方案可能依赖于“RowEditing”插件,但由于 ExtJs 对我来说是新的,我不明白该怎么做。

非常感谢任何帮助。

【问题讨论】:

    标签: extjs3


    【解决方案1】:

    我在 ExtJS 4.0.2 中使用带有行编辑器的网格,我以编程方式添加一行并开始使用以下代码对其进行编辑:

    var editor = grid.getPlugin('myRowEditor');
    grid.getSelectionModel().select(lastRowCounter);   //0 based selector.
    editor.startEdit(lastRowCounter,1);  //start editing on Second column.
    

    【讨论】:

    • 我误以为它是 ExtJs 4,但实际上是 3.4。无论如何感谢您的回答,这让我意识到这一点。我仍然不知道如何解决我的问题,但必须重新开始寻找解决方案。
    【解决方案2】:

    在通过尝试浪费时间进行编程之前,我建议您阅读资源。

    来自 RowEditor:startEditing: function(rowIndex, doFocus)。所以有第二个参数,但不是索引。 如果您阅读onRowDblClick,您会发现他们首先调用startEditing 禁用焦点,然后他们处理单元格以使用doFocus 进行焦点。

    顺便说一下,doFocus 依赖于一个 DOM 事件(用户点击的地方)。如果你没有这样的事件,你可以从那个函数中获得一些灵感:他们只是在列编辑器上调用focus(),从ColumnModel#Column#getEditor()获得。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 2010-12-17
    • 1970-01-01
    相关资源
    最近更新 更多