ag-grid row复选框选择。使复选框选择等同于行选择

时间:2017-03-20 20:39:22

标签: ag-grid

(我正在尝试做什么:你知道如何按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);
    }
}

Plunker例子:

https://embed.plnkr.co/vf0aV6Q0MgA4ZvtzWhFb/

(Plunker示例,你不能再取消选中一行)

2 个答案:

答案 0 :(得分:5)

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

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
};

https://plnkr.co/edit/KHj1lstv9GQncxlX4Gvx?p=preview

答案 1 :(得分:0)

您可以使用内置的rowMultiSelectWithClick在整个行中进行行切换选择,而无需按键盘键。

var gridOptions = {
    columnDefs: columnDefs,
    rowSelection: 'multiple',
    rowMultiSelectWithClick: true,
    rowData: rowData
};