【问题标题】:Limit selectable rows in ag-grid-react限制 ag-grid-react 中的可选行
【发布时间】:2022-01-10 16:55:20
【问题描述】:

rowSelection:multiplerowSelection:multiple时可以限制ag-grid中的可选行数吗?

选定的行被提交给超过特定大小的后端 API。我的目标是在任何给定时间将所选行数限制为 25。

Row Selection docs 没有提到限制选定行的技术。我能找到的最接近的是ignore filtered rows。

如果没有对限制选定行的本机支持,是否可以触发事件处理程序来限制其他选择?有 onRowSelected 和 onSelectionChange 事件,但我不知道在其中添加什么来拒绝进一步选择。

【问题讨论】:

    标签: reactjs ag-grid ag-grid-react


    【解决方案1】:

    您可以使用onSelectionChanged 回调来查看是否选择了太多行,如果是,请取消选择任何行。

    onSelectionChanged: params => {
        const selectedRows = params.api.getSelectedNodes();
        let selectedRowsCount = selectedRows.length;
    
        if (selectedRowsCount > 3)
        {
            while (selectedRowsCount > 3)
            {
                params.api.deselectNode(selectedRows[selectedRowsCount - 1])
                selectedRowsCount--;
            }
        }
    }
    

    上述函数将在选择后继续取消选择行,直到您只有 3 个选定行(显然根据您的情况将其更改为 25)。

    Demo.

    【讨论】:

    • 差不多了,谢谢。当我选择连续的行时,它的行为符合预期。如果我选择不连续的行,最终选定的行会发生不可预测的变化。
    • 你的意思是所选行发生不可预测的变化?
    • 无视。我遇到的问题与按住 Shift 进行多选有关。再次感谢!
    猜你喜欢
    • 2020-09-23
    • 1970-01-01
    • 2018-10-27
    • 2017-01-22
    • 2021-09-21
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多