【问题标题】:Keep all row checkboxes & header row checkbox selected or checked by default in Angular-Slickgrid在Angular-Slickgrid中默认选中或选中所有行复选框和标题行复选框
【发布时间】:2021-05-16 06:18:42
【问题描述】:

我正在使用 Angular SLickgrid 并希望显示所有行的所有复选框以及默认选中的标题行复选框(当网格加载时)。我可以通过使用this.angularGrid.gridService.setSelectedRows(this.allDataId) 部分实现它 但我在控制台中遇到错误,并且所有数据行都不可见。我不能使用预设,因为我想显示所有选定的行,直到加载角度网格时,我没有所有行 ID。下面是我得到的错误。我在将数据传递给setSelectedRows() 之前添加了空检查,但没有用。

TypeError: Cannot read property 'children' of null
    at ensureCellNodesInRowsCache (dist/data.bundle.js.gz:2692)
    at getCellNode (dist/data.bundle.js.gz:2692)
    at updateCellCssStylesOnRenderedRows (dist/data.bundle.js.gz:2692)
    at setCellCssStyles (/dist/data.bundle.js.gz:2692)
    at Event.handleSelectedRangesChanged (/dist/data.bundle.js.gz:2692)
    at Event.notify (/dist/data.bundle.js.gz:2674)
    at RowSelectionModel.p [as setSelectedRanges] (/dist/data.bundle.js.gz:2692)
    at SlickGrid.setSelectedRows (/dist/data.bundle.js.gz:2692)
    at SlickGrid.m (/dist/data.bundle.js.gz:2692)
    at Event.notify (/dist/data.bundle.js.gz:2674)

请建议如何实现它。谢谢。

【问题讨论】:

    标签: angular-grid angular-slickgrid


    【解决方案1】:

    如果这是一个可以接受的答案,答案就在您的问题中。 SlickGrid Row Selection 插件并不意味着一开始就被全部选中,所以你必须坚持使用setSelectedRows,如果你手头没有所有的 Id,那么当你这样做时调用它......万一你在块中推送数据,然后在每个块上调用setSelectedRows。这里没有魔法,当你有正确的 Id 时你需要调用它

    【讨论】:

    • 应该的,你为什么不试试看?
    • 我正在尝试相同的方法,但不适用于树数据。如果我给出了像 1,2,3,4...,10 这样的硬编码数据,那么它是预选的,但是如果我给出更多的行索引,那么我也会遇到错误。它是特定于数据的吗? selectedRows() 只需要行索引对吗?
    • setSelectedRows 是网格和当前页面中的行索引,你没有提到你使用页面,但你说当你超过 10 时会发生这种情况。如果你是,我们无法帮助你'不为您的问题提供更多信息。
    猜你喜欢
    • 2014-06-20
    • 2011-05-15
    • 2013-04-02
    • 2013-04-26
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    相关资源
    最近更新 更多