复选框中的多行选择和在ag-grid中单击行的单项选择

时间:2019-07-21 17:57:50

标签: angular ag-grid

当我单击复选框单元格时,如果我想对行进行多次选择 单击该行的普通单元格,应选择该行,然后单击另一行将选择该行。  到目前为止,无论我尝试了什么,我都可以在行上进行多项选择或单项选择。如何基于列单击在同一网格中实现两者。

<ag-grid-angular  
      #agGrid 
      [columnDefs] = "columnDefs" 
      class = "ag-grid20-context content" 
      [rowData] = "rowData"
      [rowSelection]="multiple"
      [suppressRowClickSelection]= true
      [enableRangeSelection]= true
      [enableCellChangeFlash]= true
      (rowClicked)="onRowClicked($event)" 
      (cellClicked)='onCellClicked($event)'
      (gridReady)="onGridReady($event)" 
      [gridOptions]="gridOptions"
      (selectionChanged) = 'onSelectionChanged($event)'>
 </ag-grid-angular>

this.alertColumnDef =  [  
  {
    rowMultiSelectWithClick:true,
    checkboxSelection: true,
    filter: false,
    width:20
  },
  { headerName: 'Owner', field: 'customerId' },
  { headerName: 'Code', field: 'code' },
  { headerName: 'Description', field: 'description' },
  { headerName: 'Summary', field: 'summary' },
  { headerName: 'Severity', field: 'severity' },
  { headerName: 'Category', field: 'category' },
  { headerName: 'Alert Type', field: 'alertType' }
];

任何人都可以帮助实现这一点:单击复选框进行多项选择,而单击行进行多项选择。

1 个答案:

答案 0 :(得分:0)

您可以在单元格单击上使用 setSelected 方法。 根据农业网格文档:

  

此方法采用两个参数:   selected:设置为true进行选择,false取消选择。   clearSelection(可选):仅用于选择。如果为true,将清除其他节点选择。如果您不希望多选并且希望仅选择此节点,请使用此选项。

onCellClicked(params) { params.node.setSelected(true, true); }

I create an example please take a look