如何对工具面板中的列进行排序。银格
How to sort the columns in the tool panel. Ag-Grid
编辑:发现移动列在 v6.4.0 中不起作用
示例Link:
https://www.ag-grid.com/javascript-grid-tool-panel/toolPanelExample.html
工具面板中可见的列的顺序始终与它们在列定义中定义的顺序相同。检查下图。
是否可以在工具面板中按顺序(比如按字母顺序)对它们进行排序,但不改变它们在网格中显示的顺序。
我试过的:
我尝试在 columnDefination 中按字母顺序定义它们,并尝试使用 columnApi.moveColumn()
将它们移动到那里的位置。当我必须移动所有列并定位它们时,这似乎也不起作用,这也增加了复杂性。
问题:
- 这还possible/feasible吗?
moveColumn()
功能无效。你能告诉它是在哪个版本中引入的吗?无法在 changeLog 中找到它。
其他详细信息:
使用ag-grid企业版v6.4.0
请参考this plnkr。我使用了与您相同的基本想法,按字母顺序创建 colDef,然后在 onGridReady 函数中将列移动到它们各自的位置。有两个函数在执行此操作时很有用,我认为第二个函数更可取:
moveColumn(colKey, toIndex)
//colKey refers to the id of the column which defaults to the specified field
//toIndex is simply a number that is within the range of columns.
moveColumns(colKeys[], toIndex)
//colKeys[] is an array in the order that you want them to be
displayed starting at the toIndex
以下是我在 plnkr 中的实现方式:
private onReady() {
// this.gridOptions.columnApi.moveColumn('name',1)
// this.gridOptions.columnApi.moveColumn('country',2)
// this.gridOptions.columnApi.moveColumn('dob',3)
// this.gridOptions.columnApi.moveColumn('skills',4)
// this.gridOptions.columnApi.moveColumn('proficiency',5)
// this.gridOptions.columnApi.moveColumn('mobile',6)
// this.gridOptions.columnApi.moveColumn('landline',7)
// this.gridOptions.columnApi.moveColumn('address',8),
this.gridOptions.columnApi.moveColumns(['name', 'country', 'dob', 'skills', 'proficiency', 'mobile', 'landline', 'address'],1)
}
如果您想使用,还有一项功能可供您使用:
moveColumnByIndex(fromIndex, toIndex)
//This uses just indexes and not the colid/colkey idea if you prefer
to keep it more anonymous
编辑:发现移动列在 v6.4.0 中不起作用
示例Link: https://www.ag-grid.com/javascript-grid-tool-panel/toolPanelExample.html
工具面板中可见的列的顺序始终与它们在列定义中定义的顺序相同。检查下图。
是否可以在工具面板中按顺序(比如按字母顺序)对它们进行排序,但不改变它们在网格中显示的顺序。
我试过的:
我尝试在 columnDefination 中按字母顺序定义它们,并尝试使用 columnApi.moveColumn()
将它们移动到那里的位置。当我必须移动所有列并定位它们时,这似乎也不起作用,这也增加了复杂性。
问题:
- 这还possible/feasible吗?
moveColumn()
功能无效。你能告诉它是在哪个版本中引入的吗?无法在 changeLog 中找到它。
其他详细信息:
使用ag-grid企业版v6.4.0
请参考this plnkr。我使用了与您相同的基本想法,按字母顺序创建 colDef,然后在 onGridReady 函数中将列移动到它们各自的位置。有两个函数在执行此操作时很有用,我认为第二个函数更可取:
moveColumn(colKey, toIndex)
//colKey refers to the id of the column which defaults to the specified field
//toIndex is simply a number that is within the range of columns.
moveColumns(colKeys[], toIndex)
//colKeys[] is an array in the order that you want them to be
displayed starting at the toIndex
以下是我在 plnkr 中的实现方式:
private onReady() {
// this.gridOptions.columnApi.moveColumn('name',1)
// this.gridOptions.columnApi.moveColumn('country',2)
// this.gridOptions.columnApi.moveColumn('dob',3)
// this.gridOptions.columnApi.moveColumn('skills',4)
// this.gridOptions.columnApi.moveColumn('proficiency',5)
// this.gridOptions.columnApi.moveColumn('mobile',6)
// this.gridOptions.columnApi.moveColumn('landline',7)
// this.gridOptions.columnApi.moveColumn('address',8),
this.gridOptions.columnApi.moveColumns(['name', 'country', 'dob', 'skills', 'proficiency', 'mobile', 'landline', 'address'],1)
}
如果您想使用,还有一项功能可供您使用:
moveColumnByIndex(fromIndex, toIndex)
//This uses just indexes and not the colid/colkey idea if you prefer
to keep it more anonymous