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 (необходимо выполнить некоторую логику), из-за логики он может включить другой флажок из админки. Поэтому он должен работать, когда пользователь выбирает и отменяет выбор.
Пожалуйста, направьте меня.