AG 网格 - 禁止在特定列/单元格内选择行

2024-02-09

使用 AG 网格,我需要制作一个在单击时选择行的表格,但是单击某些单元格不会导致选择该行。

到目前为止,我最好的想法是当鼠标悬停在非选择单元格上时禁用单击行选择。就像是:

gridOptions.onCellMouseOver = (event) => {
 if (/*cell is from non-select column*/ )
   this.gridOptions.suppressRowClickSelection = true;
}

gridOptions.onCellMouseOut = (event) => {
 if (/*cell is from non-select column*/ )
   this.gridOptions.suppressRowClickSelection = false;
}

唯一的问题是 onCellMouseOver 和 Out 似乎没有及时触发;如果您快速从选择行移动到在非选择单元格内单击,行选择仍然会触发。我有一个额外的 onCellClicked 函数,它会触发并显示 gridOptions.suppressRowClickSelection 按预期设置为 true,但当点击速度太快时,似乎该属性没有及时设置。

如果有人知道解决 onMouseOver 计时问题的方法,我很想知道。或者,如果有更好的方法来实现此功能,我会洗耳恭听。

Thanks


这是一种方法:

this.gridOptions = {
    suppressRowClickSelection: true,
    onCellClicked: (e) => {
        if (e.column.colId !== 'name') { // cell is from non-select column
            e.node.setSelected(true);
        }
    }
};

基本上,我们仅在单击符合条件的单元格时手动选择行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AG 网格 - 禁止在特定列/单元格内选择行 的相关文章

随机推荐