如何在 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 网格透视模式下将不同的列数据显示为工具提示?

如何在 React AG-grid 中获取固定的行数据

如何在 ag 网格页脚中获取 1 到 5 的页码

如何在ag-grid Angular中获取其他列单元格但同一行的值?

如果 colDef 是预定义的并且在引号中,我如何使用 valueFormatter 函数? - AG-网格

如何从虚拟 API 获取数据并使用 AG 网格以角度显示它