【问题标题】:Header checkbox selection doesn't work when using Server Side Data source使用服务器端数据源时,标题复选框选择不起作用
【发布时间】:2020-01-13 09:38:19
【问题描述】:
正如标题所示,我将 ag-grid 与 Angular 一起使用,并且我使用了一个自定义类,该类实现了 IServerSideDatasource,用于从 API 中获取数据,其中 rowModelType 设置为“serverSide”。
问题是当我将 headerCheckboxSelection 和 checkboxSelection 设置为 true 时,复选框选择出现在每一行旁边,但它没有出现在标题中,而当我使用客户端行模型类型时它工作得很好。
谁能帮忙?
【问题讨论】:
标签:
angular
ag-grid
ag-grid-angular
【解决方案1】:
标题复选框选择不是 ag-grid 的服务器端行模型支持的功能。您应该会收到一条控制台日志消息,通知您这一点。
请参阅documentation 了解更多信息。
Feature Client-side Infinite Server-side Viewport
...
Row Selection ✔ ✔ ✔ ✔
Header Checkbox Selection ✔ ✕ ✕ ✕
如果您想实现此功能,则需要使用自定义标头组件手动处理此功能。我以前做过(虽然是使用无限行模型,而不是服务器端),但你需要跟踪一些事情......
- 当前检查的总行列表。
- 是否选择了“全部检查”?
- 是否显示不确定的复选框(选择了部分,但不是所有行)。
- 从服务器获取行时,您需要查看是否已按下检查所有按钮并相应地更新该行的选择。
我使用一个 Angular 服务来保持一个中心位置来跟踪所有这些信息,并且只是依靠标题组件来显示复选框。
如您所见,这是一项艰巨的任务,没有简单的解决方案。