为啥单击 ExtJS 4 网格面板操作列中的图标不选择行?

Posted

技术标签:

【中文标题】为啥单击 ExtJS 4 网格面板操作列中的图标不选择行?【英文标题】:Why does clicking icon in an ExtJS 4 grid panel actioncolumn not select the row?为什么单击 ExtJS 4 网格面板操作列中的图标不选择行? 【发布时间】:2014-01-24 05:43:20 【问题描述】:

我有一个带有操作列的网格面板。

actioncolumn 中有一个图标,其点击处理程序工作正常。

但是当我点击图标时,在点击处理程序中我想访问选定的行,但似乎没有选择任何行。

这是预期的吗?点击actioncolumn图标时是否需要手动设置选中行?

【问题讨论】:

这似乎可行,但是为什么当单击该行的 actioncolumn 图标时该行没有被选中?没有意义。 grid.getSelectionModel().select(record); 【参考方案1】:

如果您想在用户点击actioncolumn 中的图标后也选择行,只需将actioncolumn stopSelection 配置属性设置为false

    
    xtype:'actioncolumn',
    stopSelection: false,
    items: [
       ...
    ]

然而常见的用例如何在用户点击操作列中的图标时访问行的记录是获取用户点击操作列图标的行的索引并从该索引的存储中获取记录:


    xtype:'actioncolumn',
    items: [
        tooltip: 'Edit',
        handler: function(grid, rowIndex, colIndex) 
            // get record at index of row where user click on icon in action column
            var record = grid.getStore().getAt(rowIndex);
            // do action with record ...
        
    ]

【讨论】:

以上是关于为啥单击 ExtJS 4 网格面板操作列中的图标不选择行?的主要内容,如果未能解决你的问题,请参考以下文章

Ext JS 4.1:网格列中的渲染器参数不起作用

需要更改 extjs 网格操作列内图标的背景颜色

为啥我的 ExtJS 4.2 网格面板排序不起作用?

Extjs 4.1 - 网格中检查列中的 CheckboxModel 失败?

单击一行后,Extjs 4 网格自定义添加一个带有文本字段的面板

Extjs 4网格鼠标悬停显示完整的单元格值