【问题标题】:How to get dragged column definition in ag grid?如何在 ag 网格中获取拖动的列定义?
【发布时间】:2020-11-06 01:40:59
【问题描述】:

问题: 当用户拖动列时如何找出正在拖动的列。

我尝试在 gridoptions 上使用 ondragstarted,但它没有给出正在拖动的列?

目标: 如果用户在 dom 内的特定 div 上拖放网格外的列,我需要执行一些操作。

【问题讨论】:

    标签: angular ag-grid ag-grid-angular


    【解决方案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
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-05-19
      • 2018-07-27
      • 2018-12-08
      • 2020-12-14
      • 2018-08-29
      • 2016-01-22
      • 2020-10-25
      • 2019-05-01
      • 2021-02-10
      相关资源
      最近更新 更多