如何验证 ag-grid 单元格的数据?

Posted

技术标签:

【中文标题】如何验证 ag-grid 单元格的数据?【英文标题】:How can i valid the data of an ag-grid cell? 【发布时间】:2021-01-27 08:59:18 【问题描述】:

我想验证单元格,当数字不同于 9 时我想更改背景

我有这张桌子:


 cellEditor: 'numberRenderer',
 width: 150,
 cellClass: this.compareValues,
 newValueHandler: this.compareValues,
 cellEditorParams: 
 required: true,
,

compareValues(params) 
        return params.value === 9?'':'myClass';
      ,
.myClass
    background: var(--ag-header-background-color, #222628)

但是当我输入数字 9 时,我没有看到风格的变化,这是什么问题?

【问题讨论】:

有两种可能,一是您的条件值不匹配,二是您的样式格式不正确 【参考方案1】:

您需要确保如果您正在使用相等比较器进行类型比较,那么双方的类型相同params.documentId === 9?'':'myClass'; 这仅在params.documentId 是数字时才有效,否则它将始终为假。要么将 === 更改为 == 比较,要么确保类型相同。

【讨论】:

【参考方案2】:

使用cellStyle试试这个


 cellEditor: 'numberRenderer',
 cellStyle: function (params) 
   if(params.value !==9)
         setTimeout(() => 
                params.api.refreshCells(
                    force: true,
                    rowNodes: [params.api.node], 
                );
            , 10000);
      return background: 'red';
      
    
  

尝试刷新:-

params.api.refreshCells(
             force: true,
             rowNodes: [params.api.node]
   );

【讨论】:

已更新答案,请尝试在您的代码中按上述方式刷新。

以上是关于如何验证 ag-grid 单元格的数据?的主要内容,如果未能解决你的问题,请参考以下文章

AG-Grid:如何根据同一行中其他单元格中的值更改单元格的颜色

用 tinymce 编辑器替换单元格的 ag-grid 编辑器

如何在 ag-grid 中添加与单元格中的数据相同的默认 headerTooltip?

如何在#ag-grid for React 中执行单元格验证

Ag-grid 企业:通过用户交互取消选择范围选择中的单元格的可能性

Angular Ag-grid(值获取器不导出单元格的渲染值)