我创建了一个启用多选的剑道网格:
<kendo-grid
[reorderable]="false"
class="border"
[kendoGridBinding]="data"
[selectable]="{ enabled: true, checkboxOnly: false, mode: 'multiple' }"
scrollable="none"
>
<kendo-grid-checkbox-column
[showSelectAll]="true"
[width]="40"
[columnMenu]="false"
headerClass="col-header"
></kendo-grid-checkbox-column>
<kendo-grid-column
title="Person Name"
headerClass="font-weight-bold col-header"
>
<ng-template kendoGridCellTemplate let-dataItem>
{{ dataItem.lastName }}, {{ dataItem.firstName }}
</ng-template>
</kendo-grid-column>
我在
showSelectAll
上使用 kendo-grid-checkbox-column
,以便通过标题中的复选框选择所有网格行。我在文档中的 Kendo for Angular 演示中看到了这项工作。
对我来说,当未选择任何内容时,单击标题复选框不会执行任何操作:
当我手动选择一行时,单击显示“-”符号的标题复选框将取消选择选定的行:
当我手动选择所有行时(按住 Shift 键单击它们可以),单击带有复选标记的标题复选框也不起作用:
所以它不适用于选择全部或取消选择全部,但适用于取消选择某些。
有什么想法我做错了什么以及我应该尝试如何让它发挥作用吗?
谢谢!
根据提供的信息,真的很难判断可能导致问题的原因 - 我刚刚使用最新官方版本的 Kendo 包和提供的标记创建了一个 StackBlitz 演示,并且它似乎按预期工作:
您可以将其与实际实施进行比较并应用必要的调整。
编辑:如果网格恰好与 Angular Material CDK Overlay 一起使用,您还可以查看这篇文章:
https://www.telerik.com/kendo-angular-ui/components/knowledge-base/selectall-ngmaterialcdk/
在对我们自己的问题进行故障排除后(与所描述的问题类似),我发现我们的问题是由变更检测策略引起的。
最初,我们将其设置为:
changeDetection: ChangeDetectionStrategy.OnPush
然后我们将其删除,并且它没有对网格造成任何问题。 添加更多功能后,全选停止工作。 重新添加更改检测后,它再次开始工作。 不知道为什么或什么影响它停止工作。