双击时是否存在针对网格单元格(粘贴)的事件

时间:2019-10-21 10:54:55

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

双击ag-grid单元格以粘贴(ctrl + V)一些数据时, 我想要该事件(粘贴),但无法获取该单元格的事件

我尝试在该特定单元格上使用onProcessCellFromClipboard,但这也没有触发

  columnDefs: [
   {
      field: 'name',
      headerName: 'name',
      width: 175,
      includeInSearch: true,
      suppressSorting: true,
      suppressFilter: true,
      suppressMenu: true,
      onProcessCellFromClipboard : (params) = > {
         //expecting this event to be fired when we do ctrl+v but not working
      }
    }
  ]

1 个答案:

答案 0 :(得分:0)

在angular中,您可以使用所有预定义的JavaScript事件来处理用户输入

以下两个功能始终解决了我的生活:oninput和onchange

如果要按角度使用它们,可以在模板中使用:

<component (input)='youFunction()' (change)='yourSecondFunction()'></component>

对于使用AG-Grid的情况,有几个针对列或单元格的自定义事件:

例如,对于单元格版本:cellValueChanged,cellEditingeStarted和cellEditingStopped函数可以被覆盖,例如:

在您的columnDef中添加以下内容:

onCellValueChanged : this.YourOnCellValueChanged ,
onCellEditingStarted: this.thePasteStart,
onCellEditingStopped: this.thePasteEnd,

然后在脚本中添加对该函数的引用

function  YourOnCellValueChanged (params) {
  console.log('The column has been changed '+ params);
}

function thePasteStart(event){
    console.log("Paste started "+ event.value)

}
function thePasteEnd(event){
    console.log("Paste Ended "+ event.value)

}