繁体   English   中英

复选框上的多行选择,以及在ag-grid中单击该行时的单选

[英]Multiple row selection on checkbox and single selection on clicking the row in 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' }
];

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

您可以在单元格单击上使用setSelected方法。 根据ag-grid文档:

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

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

我创建一个例子,请看一下

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM