使用AG Grid,在单击单元格时阻止行单击事件?

时间:2017-12-14 21:23:31

标签: ag-grid ag-grid-ng2

由于我正在使用onRowClicked执行某些操作,因此我希望停止所有单元格点击的事件传播。当用户点击单元格内的某些内容(如输入字段)时,我不希望触发行单击。

有什么想法吗?

我正在使用Angular 2/4。

2 个答案:

答案 0 :(得分:5)

过去的建议对我都没有用。 AG网格可能已更改API行为。甚至event.stopPropagation()上的onCellClicked也不会阻止onRowClicked发射。

我最终要做的是彻底删除onRowClicked并处理onCellClicked中的所有内容。 onRowClicked没有属性,onCellClicked所产生的点击事件在哪一列上!

function cellClickedHandler(e) {
  if (e.column.colId === 'col1') {
    // Handle specific cell
  } else {
    // Handle all other cells, similar to rowClicked
  }
}

答案 1 :(得分:2)

  <ag-grid-angular style="width: 100%;   height: 168px;" class="ag-theme-fresh" 
    [rowData]="rowData" [columnDefs]="columnDefs"
    [enableFilter]="true" [enableSorting]="true" 
    [getRowNodeId]="getRowNodeId" [rowSelection]="rowSelection" 
    (selectionChanged)="onSelectionChanged($event)"
    (gridReady)="onGridReady($event)" 
    [suppressRowClickSelection]="true"
    (cellClicked)='onCellClicked($event)'>
  </ag-grid-angular>

使用[suppressRowClickSelection]="true"阻止行点击