Ag grid 选中ag网格行复选框。使复选框选择等同于行选择

Ag grid 选中ag网格行复选框。使复选框选择等同于行选择,ag-grid,Ag Grid,(我想做的是:你知道如何按住CTRL键或SHIFT键来选择多行吗?为什么不在不需要键盘键的情况下进行点击切换?) 我试图使rowSelected事件或rowClicked事件始终选中整行左侧列上的复选框 并添加到它,所以点击另一行,添加它。单击另一行,检查该行并选择该行 单击已选中的已选中行。。。它应该“取消选择”和“取消选择” 所以。。。行选择多个+复选框多个,是等效的 "rowSelection": "multiple", "onRow

(我想做的是:你知道如何按住CTRL键或SHIFT键来选择多行吗?为什么不在不需要键盘键的情况下进行点击切换?)

我试图使rowSelected事件或rowClicked事件始终选中整行左侧列上的复选框

并添加到它,所以点击另一行,添加它。单击另一行,检查该行并选择该行

单击已选中的已选中行。。。它应该“取消选择”和“取消选择”

所以。。。行选择多个+复选框多个,是等效的

              "rowSelection": "multiple",
              "onRowSelected": rowSelected,
              "suppressRowClickSelection": false,


function rowSelected(event){
    console.log("t1 " + event.node.isSelected());
    if(event.node.isSelected()){
        event.node.setSelected(false);
    } else {
        event.node.setSelected(true);
    }
}
例如:


(例如,您不能再取消选中一行)

已解决。基本上覆盖了默认的“选择模型”


您可以使用内置的
行多选按钮单击
在整行上进行行切换选择,而无需按键盘键

var gridOptions={
columnDefs:columnDefs,
行选择:“多个”,
单击“rowMultiSelectWithClick”:true,
rowData:rowData
};

也许
“onRowSelected”:rowSelected
应该是
“onRowSelected”:rowsclicked
我一直在尝试这两种方法。rowClicked和rowSelected只是函数的名称。我在代码中有正确的函数名。问题是ag网格试图通过所有节点而不是选定的节点进行循环,然后崩溃。行选中->选择行->选中复选框->完成。行选中->取消选中行->取消选中复选框->完成。我无法建立这种逻辑。
function RowClickEventHandler(event){
    if(event.node.isSelected()){
      console.log("deselected");
      event.node.setSelected(false, false);
    } else {
      event.node.setSelected(true);
      console.log("selected, add");
    }

}

var gridOptions = {
    columnDefs: columnDefs,
    onRowClicked: RowClickEventHandler,
    suppressRowClickSelection: true,
    suppressCellSelection: true,
    rowSelection: 'multiple',
    rowData: null
};