【问题标题】:ag-grid master detail checkbox not persistingag-grid 主详细信息复选框不持久
【发布时间】:2019-12-10 09:45:48
【问题描述】:

在 ag-grid 主详细信息功能中,当我检查第一个详细信息网格中的行然后滚动到底部网格并展开/折叠该网格时,我向详细信息网格添加了复选框,第一个网格中的复选框消失了(不保留) . https://plnkr.co/edit/UeWohlz76GM7B4L80n91?p=preview

<AgGridReact
  columnDefs={this.state.columnDefs}
  masterDetail={true}
  detailCellRendererParams={this.state.detailCellRendererParams}
  detailRowHeight={this.state.detailRowHeight}
  defaultColDef={this.state.defaultColDef}
  onGridReady={this.onGridReady}
  getRowHeight={this.state.getRowHeight}
  groupDefaultExpanded={1}
  rowData={this.state.rowData}
/>

复选框值应保留在第一个(顶部网格)中。

【问题讨论】:

  • 尝试在 colDef 中使用onCellValueChanged 作为字段并更改您所在州的适当值以保留。
  • 但是没有改变单元格的值,所以 onCellValueChanged 事件不会被触发,并且对于大数据集,这样的功能会影响网格性能。

标签: ag-grid ag-grid-react


【解决方案1】:

我的堆栈代表尚未建立到足以添加评论,但请注意,这不是解决方案 - 更多评论。

Ag-Grid 在主网格折叠时从 DOM 中删除详细网格。有了这个,没有 Ag-Grid 状态来记住为折叠的细节网格检查了什么。在一个项目的类似主从网格表中,这是由

解决的
  1. 维护详细网格选定行的本地状态(选中一个开/关,它会从本地状态数组中添加/删除)
  2. 使用详细信息onGridReady 方法,调用函数以编程方式遍历每个详细信息行节点。我相信你可以使用 GridApi 的 forEachNode 方法来做到这一点
  3. 当您遍历每个详细信息节点时,利用详细信息节点的唯一 ID 查看相同的唯一 ID 是否存储在 步骤 1 中选定的详细信息行本地状态设置中。如果是这样,请使用节点的 setSelected 方法将其打开

【讨论】:

    猜你喜欢
    • 2020-10-26
    • 2019-11-28
    • 2019-07-17
    • 2019-05-30
    • 2022-08-13
    • 1970-01-01
    • 2019-07-15
    • 2020-07-03
    • 2019-01-26
    相关资源
    最近更新 更多