自定义 ag-grid 以设置最大可选行数

Ton*_*yGW 2 datatable row selection angularjs ag-grid

我正在尝试ag-grid在基于 Angular 1.5 的项目中使用自定义数据表。定制是允许用户选择表的最大行数,例如最大为2。

我使用在此处的node.setSelected(false)文档页面中找到的代码获得了以下代码,但出现错误:当选择超过最大值 2 时。node.setSelected is not a function

var gridOptions = {
    columnDefs: columnDefs,
    rowSelection: 'multiple',
    onRowSelected: onRowSelected
};


function onRowSelected(event) {
                var curSelectedNode = event.node;
                var selectionCounts = vm.gridOptions.api.getSelectedNodes().length;
                if (selectionCounts > 2) {
                    var oldestNode = vm.gridOptions.api.getSelectedNodes()[0]; // get the first node, to be popped out
                    oldestNode.setSelected(false); // causes the above 'not a function' error
                 }       
            }
Run Code Online (Sandbox Code Playgroud)

有谁知道 ag-grid 的setSelected()API 可能有什么问题吗?或者有更好的方法来进行此定制?

Ton*_*yGW 5

事实证明该setSelected(false)方法在其当前的 API 中已经过时了ag-grid,我发现我可以使用deselectIndex()方法来取消选择最旧的节点:

if (selectionCounts > 2) {
    vm.gridOptions.api.deselectIndex(0, true); // This works!
}
Run Code Online (Sandbox Code Playgroud)

希望这将来能对其他人有所帮助!