如何在网格组件中获取Kendo UI Angular

时间:2017-06-06 15:10:22

标签: angular kendo-ui-angular2

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

我用来输入网格的数据是:

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

元素是我的原始数据数组,状态是带有设置的 State 对象(skip,take,sort)。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

因此,当您通过分页使用网格时,必须考虑GridDataResult元素。

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

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

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

希望这有帮助。

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