无论 ag-Grid 中的 colDef 可编辑值如何,如何禁用整个网格?
Posted
技术标签:
【中文标题】无论 ag-Grid 中的 colDef 可编辑值如何,如何禁用整个网格?【英文标题】:How disabled whole grid regardless of colDef editable value in ag-Grid? 【发布时间】:2021-03-22 10:51:17 【问题描述】:您好,我想禁用 ag 网格。当然,我知道我可以通过在每个 colDef 的可编辑上设置 false 来禁用它。
但我想通过另一种方式来将网格状态与可编辑和不可编辑模式分开。如果网格处于不可编辑模式,则即使在其 colDef 上定义为可编辑,每一列也不应该是可编辑的。
我知道当网格处于不可编辑模式时,我可以更改列 def 的每个可编辑值。但我想相信还有另一种通用的方法来完成它。但是没找到。
你有什么想法吗?
谢谢。
【问题讨论】:
【参考方案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();
从你的问题中不确定你是否试图禁用整个网格,但这对我来说就像一个魅力希望它可以帮助其他人。
【讨论】:
以上是关于无论 ag-Grid 中的 colDef 可编辑值如何,如何禁用整个网格?的主要内容,如果未能解决你的问题,请参考以下文章