Datagrid 为分组数据选择的项目
Datagrid selected item for grouped data
我有一个网格,将 groupable 设置为 true 并使用 "process" 对数据进行分组,如下所示:
refreshSearchResults() {
this.resultsData = process(this.memberships,
{
skip: this.resultsSkip,
take: this.resultsPageSize,
sort: this.resultsSort,
group: this.groups
}
);
}
选择事件发送网格行的索引,但在分组数据中,这与实际数据索引无关。所以这个:
private resultsRowSelectionChanged(selection: any): void {
if (selection.selected) {
this.selectedMembership = this.resultsData.data[selection.index];
}
else {
this.rightPanel.clearClientInfo();
}
}
尝试将行选择索引应用于分组数据,但这是不正确的,因为索引是针对组而不是数据本身。
如有任何关于如何通过选择事件索引选择正确的分组数据的建议,我们将不胜感激。
您可以使用 reduce 展平数组并使用绝对索引:
public selectionChange(event) {
console.log(this.gridView.data.reduce((acc, curr)=> {
return acc.concat(curr.items);
}, [])[event.index]);
}
检查这个 plunkr
我有一个网格,将 groupable 设置为 true 并使用 "process" 对数据进行分组,如下所示:
refreshSearchResults() {
this.resultsData = process(this.memberships,
{
skip: this.resultsSkip,
take: this.resultsPageSize,
sort: this.resultsSort,
group: this.groups
}
);
}
选择事件发送网格行的索引,但在分组数据中,这与实际数据索引无关。所以这个:
private resultsRowSelectionChanged(selection: any): void {
if (selection.selected) {
this.selectedMembership = this.resultsData.data[selection.index];
}
else {
this.rightPanel.clearClientInfo();
}
}
尝试将行选择索引应用于分组数据,但这是不正确的,因为索引是针对组而不是数据本身。
如有任何关于如何通过选择事件索引选择正确的分组数据的建议,我们将不胜感激。
您可以使用 reduce 展平数组并使用绝对索引:
public selectionChange(event) {
console.log(this.gridView.data.reduce((acc, curr)=> {
return acc.concat(curr.items);
}, [])[event.index]);
}
检查这个 plunkr