Ag-Grid 没有键的多列排序
Ag-Grid multi sort columns without key
我已经实现了 AG-Grid 中所选项目的排序,而不是 header 单击按钮单击。
默认情况下,Ag 网格需要在选择多列时按下 ctrl/shift
键。我想覆盖此行为并使用上面的按钮作为标志而不是按键。
是否有可能做到这一点?我不想要 Pinned
行。
您可以使用 ag-grid 排序API。它被记录在案 here。使用它,您可以在单击按钮时更新排序模型。
做了一些 hack 并使其工作。
/*onGridReady of ag-grid options*/
onGridReady: () => this.agHeaderClickListener()
/** This function adds listener to Ag grid header click event for all columns */
agHeaderClickListener() {
console.log( this.elRef.nativeElement.querySelectorAll('.ag-header-cell-label'));
let nodeList = this.elRef.nativeElement.querySelectorAll('.ag-header-cell-label');
for (let node of nodeList) {
/** IE Fix */
if (node.addEventListener) {
node.addEventListener('click', this.selectionChanged.bind(this));
} else {
node.attachEvent('onclick', this.selectionChanged.bind(this));
}
}
}
使用 selectionChanged(event: any)
进行您想要的逻辑更改
我已经实现了 AG-Grid 中所选项目的排序,而不是 header 单击按钮单击。
默认情况下,Ag 网格需要在选择多列时按下 ctrl/shift
键。我想覆盖此行为并使用上面的按钮作为标志而不是按键。
是否有可能做到这一点?我不想要 Pinned
行。
您可以使用 ag-grid 排序API。它被记录在案 here。使用它,您可以在单击按钮时更新排序模型。
做了一些 hack 并使其工作。
/*onGridReady of ag-grid options*/
onGridReady: () => this.agHeaderClickListener()
/** This function adds listener to Ag grid header click event for all columns */
agHeaderClickListener() {
console.log( this.elRef.nativeElement.querySelectorAll('.ag-header-cell-label'));
let nodeList = this.elRef.nativeElement.querySelectorAll('.ag-header-cell-label');
for (let node of nodeList) {
/** IE Fix */
if (node.addEventListener) {
node.addEventListener('click', this.selectionChanged.bind(this));
} else {
node.attachEvent('onclick', this.selectionChanged.bind(this));
}
}
}
使用 selectionChanged(event: any)
进行您想要的逻辑更改