ag Grid возможность предварительно установить флажок на основе данных

Согласно требованию мы получим значения из api, и эти строки должны быть предварительно выбраны при загрузке Ag Grid.


this.columnDefs = [
      {
        headerName: 'Option Code',
        field: 'Option',
        maxWidth: 125,
        checkboxSelection: true,
      }
];

this.addOption = ["000005","000010","000026"]; // External data 

Готово к сети:

onGridReady(params) { 
    this.gridApi = params.api; 
    this.gridColumnApi = params.columnApi; 
    this.gridApi.getRenderedNodes().forEach(function (node:any) {
        node.setSelected(this.addOption.includes(
            node.data.Option.toString()
        )); 
     }); 
}

Мы пытаемся под кодом предварительно установить флажок по умолчанию, но он не работает.

selectAllAmerican(val) { 
    this.gridApi.getRenderedNodes().forEach(function (node:any) {
        node.setSelected(val.includes(node.data.Option.toString()));
    }); 
} 

Приведенный выше код работает, когда мы использовали кнопку Get. Пожалуйста, просмотрите и направьте нас.

2 ответа

Отвечая поздно, я столкнулся с аналогичной проблемой, и решение состоит в том, чтобы поместить строку ниже, когда данные rowData или grid будут готовы, а также в методе GridReady. так что упомяните это в обоих местах.

      this.gridApi?.forEachNode(function (node) {
                        node.setSelected(true);
            });

В соответствии с требованием мы будем получать значения из api, и эти строки должны быть предварительно выбраны при загрузке Ag Grid и когда пользователь выбирает /Un Select, необходимо установить флажок для выполнения задачи. Определение столбца this.columnDefs = [ { headerName: 'Option Code', field: 'Option', maxWidth: 125, checkboxSelection: true, } ];

Определение сетки:

  <ag-grid-angular
  #agGrid
  style="width: 375px; height: 100%; display: inline-block;"
  *ngIf="Flag12"
  id="myGrid"
  class="userclass"
  [enableBrowserTooltips]="true"
  [columnDefs]="columnDefs"
  [defaultColDef]="defaultColDef"
  [suppressRowClickSelection]="true"
  [rowSelection]="rowSelection"
  [rowDeselection]="true"
  [rowData]="rowData"

(rowSelected)= "onRowSelected ($ event)"

  (gridReady)="onGridReady($event)"
  >

this.addOption = ["000005", "000010", "000026"]; // Внешние данные

Два вопроса: 1. Как предварительно установить флажок на основе внешней переменной this.addOption . 2. rowSelected: в случае pr-select(когда мы включаем флажок из логики), rowSelected должен отключаться, а когда пользователь выбирает / снимает флажок "Выбрать", rowSelected (необходимо выполнить некоторую логику), из-за логики он может включить другой флажок из админки. Поэтому он должен работать, когда пользователь выбирает и отменяет выбор.

Пожалуйста, направьте меня.

Другие вопросы по тегам