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()));
});
}
当我们在“获取”按钮下使用时,上面的代码有效。请查看并指导我们。
答案 0 :(得分:0)
根据要求,我们将从api中获取值,并且在加载Ag Grid以及用户选择/取消选中该复选框需要执行任务时,应预先选择这些行。 列定义this.columnDefs = [ { headerName:“选项代码”, 字段:“选项”, 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(需要执行某些逻辑)时,由于逻辑原因,它可能会启用其他复选框从后端。因此,它应该在用户选择和取消选择时起作用。
请引导我。
答案 1 :(得分:0)
回答晚了,我遇到了类似的问题,解决方案是在 rowData 或网格数据准备好时,在 GridReady 方法中放置以下行。 所以在这两个地方都提到这一点。
this.gridApi?.forEachNode(function (node) {
node.setSelected(true);
});