【问题标题】:How disabled whole grid regardless of colDef editable value in ag-Grid?无论 ag-Grid 中的 colDef 可编辑值如何,如何禁用整个网格?
【发布时间】:2021-03-22 10:51:17
【问题描述】:

您好,我想禁用 ag 网格。当然,我知道我可以通过在每个 colDef 的可编辑上设置 false 来禁用它。

但我想通过另一种方式来将网格状态与可编辑和不可编辑模式分开。如果网格处于不可编辑模式,则即使在其 colDef 上定义为可编辑,每一列也不应该是可编辑的。

我知道当网格处于不可编辑模式时,我可以更改列 def 的每个可编辑值。但我想相信还有另一种通用的方法来完成它。但是没找到。

你有什么想法吗?

谢谢。

【问题讨论】:

    标签: ag-grid ag-grid-react


    【解决方案1】:

    我理解您的担忧。这取决于您何时将网格状态设置为不可编辑模式。所以让我们说如果我有网格数据并且在该数据中您可以再添加一列,因为rowIsNotEditable 名称可能会有所不同。因此,这意味着您希望哪一行现在可以在您的手中进行编辑,并且基于行,该行中的每一列都将根据其值是可编辑/不可编辑的。为此,您必须像这样将列可编辑定义设置为回调函数

    editable: (params) => {
            if(params.data.rowIsNotEditable)
              return false;
            else
              return true;
          }
    

    这里是完整的working example

    【讨论】:

      【解决方案2】:

      我知道我迟到了,但禁用整个网格的一种方法是使用覆盖在 html 中添加以下行:

         <ag-grid-angular
              #agGrid
              [overlayLoadingTemplate]="overlayLoadingTemplate"
      ...
       
          </ag-grid-angular>
      

      在组件中设置

       overlayLoadingTemplate =
          '<span></span>';
      

      然后在组件中使用这个函数来设置你想要禁用的覆盖:

      this.gridApi.showLoadingOverlay();
      

      从你的问题中不确定你是否试图禁用整个网格,但这对我来说就像一个魅力希望它可以帮助其他人。

      【讨论】:

        猜你喜欢
        • 2019-04-16
        • 2020-12-16
        • 2018-10-20
        • 1970-01-01
        • 2019-09-25
        • 2023-02-07
        • 2014-12-16
        • 2018-11-24
        • 1970-01-01
        相关资源
        最近更新 更多