KendoUIAngular如何获取Grid组件中选中的元素
How to get the selected element in the Grid component for Kendo UI Angular
我正在尝试在用户单击任何行时获取所选元素。为此,我正在使用 selectionChange 事件,但只有 returns index 和 selected 元素的状态。由于我也有分页和排序活动,我不能使用该索引来获取当前元素,或者至少我不知道该怎么做。
我用来馈送网格的数据变量是这样的:
this.gridData = process(this.elements, this.state);
其中 elements 是我的原始数据数组,state 是 State 对象设置(跳过、选择、排序)。
有什么想法吗?
因此,当您将网格与分页一起使用时,您必须考虑 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 的组成。
我正在尝试在用户单击任何行时获取所选元素。为此,我正在使用 selectionChange 事件,但只有 returns index 和 selected 元素的状态。由于我也有分页和排序活动,我不能使用该索引来获取当前元素,或者至少我不知道该怎么做。
我用来馈送网格的数据变量是这样的:
this.gridData = process(this.elements, this.state);
其中 elements 是我的原始数据数组,state 是 State 对象设置(跳过、选择、排序)。
有什么想法吗?
因此,当您将网格与分页一起使用时,您必须考虑 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 的组成。