KendoUIAngular如何获取Grid组件中选中的元素

How to get the selected element in the Grid component for Kendo UI Angular

我正在尝试在用户单击任何行时获取所选元素。为此,我正在使用 selectionChange 事件,但只有 returns indexselected 元素的状态。由于我也有分页和排序活动,我不能使用该索引来获取当前元素,或者至少我不知道该怎么做。

我用来馈送网格的数据变量是这样的:

this.gridData = process(this.elements, this.state);

其中 elements 是我的原始数据数组,stateState 对象设置(跳过、选择、排序)。

有什么想法吗?

因此,当您将网格与分页一起使用时,您必须考虑 GridDataResult 元素。

因此,如果您将跳过设置为 10,并且您在第 4 页,当您单击网格中的第一个元素时,事件的索引将为 40。在我的代码中,我的方式使用这个是: 我的网格使用一个状态,它具有跳过和获取的属性。在页面中移动时,跳过更改以反映显示了哪些元素。所以,在第 4 页,skip 将为 40(如果我一次显示 10 个结果。)所以当我想要这个元素的 ID 时,我使用:

let fac =  this.gridView.data[value.index - this.state.skip].id;

gridView 是我的 GridDataResult。值是我传递的事件,状态是我的状态。我的元素有一个我需要的 ID 属性,这就是我的目标。

希望对您有所帮助。

哦,我应该补充一点,您在事件中收到的索引是指 GridDataResult 而不是您的数据源。因此,如果您启用了过滤器,GridDataResult 中的条目将更少。但是,我的方法不关心 GridDataResult 的组成。