如何在 ag 网格中获取拖动的列定义?
Posted
技术标签:
【中文标题】如何在 ag 网格中获取拖动的列定义?【英文标题】:How to get dragged column definition in ag grid? 【发布时间】:2020-11-06 01:40:59 【问题描述】:问题: 当用户拖动列时如何找出正在拖动的列。
我尝试在 gridoptions 上使用 ondragstarted,但它没有给出正在拖动的列?
目标: 如果用户在 dom 内的特定 div 上拖放网格外的列,我需要执行一些操作。
【问题讨论】:
【参考方案1】:您可以尝试绑定到包含被拖动列的详细信息的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
【讨论】:
columnMoved 仅在您在网格区域内移动时才给出移动的列。如果列被拖到网格外,它不会提供详细信息。如果用户在特定区域的网格外拖放列,我需要执行一些操作。【参考方案2】:您可以尝试将 (columnVisible) 与检查源 = "uiColumnDragged" 一起使用。
onColumnVisible(e)
if(e.source === "uiColumnDragged")
//Add your logic
【讨论】:
以上是关于如何在 ag 网格中获取拖动的列定义?的主要内容,如果未能解决你的问题,请参考以下文章
如何在ag-grid Angular中获取其他列单元格但同一行的值?