Ext.grid.EditorGridPanel 内的复选框(单击一次以触发 afteredit 事件)

Posted

技术标签:

【中文标题】Ext.grid.EditorGridPanel 内的复选框(单击一次以触发 afteredit 事件)【英文标题】:checkbox inside Ext.grid.EditorGridPanel (click once to trigger afteredit event) 【发布时间】:2015-11-03 17:55:40 【问题描述】:

我在 Ext.grid.EditorGridPanel 中有一个复选框列,配置如下:


    id: 'event-type-grid-enabled-checkbox',
    header: "Enabled",
    dataIndex: "enabled",
    sortable: true,
    clicksToEdit: 1,
    editor: 
        xtype:'checkbox',
        name: 'enabled'
    ,
    renderer: function(val) 
        return "<input type='checkbox'" + (val ? "checked='checked'" : "") + ">";
    

我希望能够在用户选中/取消选中复选框时触发 EditorGridPanel 的 afteredit 事件。复选框列旁边还有其他列(文本字段),用户可以双击和编辑,它们工作得非常好,触发后编辑并进行 ajax 调用以更新数据等等......

当我双击复选框然后触发后编辑(这在技术上是正确的,但对于复选框来说是不正常的)

我为复选框对象尝试了 clicksToEdit: 1 但似乎没有帮助。

我是 ExtJS 的新手,我正在开发一个使用 ExtJS 版本 3.2.1 的现有成熟项目

谢谢

【问题讨论】:

【参考方案1】:

我相信您想使用检查列并摆脱专门定义的编辑器/渲染器。试试这里的例子:http://dev.sencha.com/deploy/ext-3.4.0/examples/grid/edit-grid.html

【讨论】:

我希望可以,检查列在 extjs 3.2.1 中不可用。我已经试过了。 啊。我建议要么走创建检查列(sencha.com/forum/…)的路线,要么找到另一种方法来更改单元格单击时的值。现在的问题是它在第一次单击激活单元格后显示您的编辑器复选框,必须再次单击。

以上是关于Ext.grid.EditorGridPanel 内的复选框(单击一次以触发 afteredit 事件)的主要内容,如果未能解决你的问题,请参考以下文章

在 ExtJS 3 EditorGridPanel 中按渲染值排序

Ext JS EditorGridPanel - 如何拆分单元格以显示多行

EXT grid 怎样在JS里面动态设置为只读.不可编辑?

ExtJS 3.3 中的水平滚动网格

真心求解,为啥我的EXTJS的可编辑表格就是点击没反应不能编辑呢,我明明设置了editor

ExtJs 编辑器网格面板的问题