首页 > 解决方案 > 暂时禁用 AG Grid (Angular) 中的行选择

问题描述

我的网格如下(社区版),允许用户选择行(列定义上定义的复选框)

    <ag-grid-angular 
        *ngIf='!isLoading && model.length > 0'
        style="height: 70vh;" class="ag-theme-balham"
        [rowData]="model" 
        [animateRows]="true" 
        [gridOptions]="gridOptions" 
        [rowSelection]='rowSelection'
        [enableCellTextSelection]="true" 
        [overlayLoadingTemplate]="overlayLoadingTemplate"
        (cellDoubleClicked)="onCellDoubleClicked($event)"
        (selectionChanged)="onRecordSelected($event)" 
        (firstDataRendered)="onFirstDataRendered($event)"
        (gridReady)="onGridReady($event)">
      </ag-grid-angular>

页面的一半显示网格,另一部分是所选记录的编辑。

在保存表单时,我想禁用网格中的选择。这可能吗?(也许我很愚蠢,但想不出办法)

标签: angularag-grid-angular

解决方案


AG Grid文档指出,对于行单击选择(如使用复选框选择),您可以设置suppressRowClickSelectiontrue禁用选择。

您可以在组件属性中保存一个布尔值 - 例如。suppressRowClicksuppressRowClickSelection在模板中设置等于suppressRowClick

您可以suppressRowClick通过适合您项目的方法在组件中更新:

  1. @Input() 来自父组件,或
  2. 创建一个服务来管理suppressRowClick和更新同级组件,或者
  3. 使用 NgRX 或 Akita 之类的状态管理框架(除非已经在使用,否则过大)

推荐阅读