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

Cha*_*lie 7 ag-grid ag-grid-ng2

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

有什么想法吗?

我为此使用了 Angular 2/4。

Alb*_*lbi 9

过去的建议都不适合我。AG Grid 可能已更改 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
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

  <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>
Run Code Online (Sandbox Code Playgroud)

使用 [suppressRowClickSelection]="true"以防止该行点击