【发布时间】:2020-11-06 01:40:59
【问题描述】:
问题: 当用户拖动列时如何找出正在拖动的列。
我尝试在 gridoptions 上使用 ondragstarted,但它没有给出正在拖动的列?
目标: 如果用户在 dom 内的特定 div 上拖放网格外的列,我需要执行一些操作。
【问题讨论】:
标签: angular ag-grid ag-grid-angular
问题: 当用户拖动列时如何找出正在拖动的列。
我尝试在 gridoptions 上使用 ondragstarted,但它没有给出正在拖动的列?
目标: 如果用户在 dom 内的特定 div 上拖放网格外的列,我需要执行一些操作。
【问题讨论】:
标签: angular ag-grid ag-grid-angular
您可以尝试绑定到包含被拖动列的详细信息的columnMoved 事件。试试下面的
模板
<ag-grid-angular
#agGrid
(columnMoved)="onChange($event)"
[gridOptions]="gridOptions"
>
</ag-grid-angular>
控制器
onChange(event) {
console.log(event.columns[0].colId); // <-- column ID
console.log(event.columns[0].colDef.headerName); // <-- column header name
console.log(event.columns[0].colDef.field); // <-- column field
}
【讨论】:
您可以尝试将 (columnVisible) 与检查源 = "uiColumnDragged" 一起使用。
onColumnVisible(e) {
if(e.source === "uiColumnDragged") {
//Add your logic
}
}
【讨论】: