我试图在用户点击任何行时获取所选元素。为此,我使用 selectionChange 事件,但只有returns 索引和选择的状态元件。由于我也有分页和排序活动,我不能使用该索引来获取当前元素,或者至少我不知道如何去做。
我用来输入网格的数据是:
this.gridData = process(this.elements, this.state);
元素是我的原始数据数组,状态是带有设置的 State 对象(skip,take,sort)。
有什么想法吗?
答案 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的组成。