如何在角度的 ag-grid 单元格中应用自定义 css 类?

Posted

技术标签:

【中文标题】如何在角度的 ag-grid 单元格中应用自定义 css 类?【英文标题】:How to apply custom css class in ag-grid cell in angular? 【发布时间】:2019-06-13 11:03:12 【问题描述】:

根据我的逻辑,我无法在 angular 的 ag-grid 单元格中应用 css。我已将一个对象分配给网格。但是在那个字段上我已经分配了一个 Object.hours 值,我需要根据 Object.status 属性应用逻辑。

使用官方文档,我可以按此处https://www.ag-grid.com/javascript-grid-cell-styles/#cell-style-cell-class-cell-class-rules-params 中提到的当前单元格值应用 css。但我需要根据父 Object.status 应用它

//Object i am using in ag-grid
this.timeSheet = 
 projectName: 'HRMS',
 mon: 
  hoursWorked: 6,
  status: 'Submitted'
 ,
 tue: 
  hoursWorked: 6,
  status: 'Submitted'
 


//Working code
this.columnDefs = [
  headerName: 'Project', field: 'projectName',
  headerName: 'MON ', field: 'mon.hoursWorked', cellClassRules: 
     'text-danger': 'x == 6',
];

以上代码正在运行,文本危险类已分配给单个单元格

//I need it to work like that
this.columnDefs = [
   headerName: 'Project', field: 'projectName',
   headerName: 'MON ', field: 'mon.hoursWorked', cellClassRules: 
     'text-danger': 'mon.status == `Submitted', 
 ];

在 'text-danger' 中需要帮助:'mon.status == `Submitted' 行它不能像那样工作

【问题讨论】:

【参考方案1】:

cellClassRules 函数采用包含行数据的params 对象。

试试这个使用params对象的代码。

this.columnDefs = [
   headerName: 'Project', field: 'projectName' ,
  
    headerName: 'MON ', field: 'mon.hoursWorked', cellClassRules: 
      'text-danger': params => params.data.mon.status == 'Submitted'
    
  ,
];

【讨论】:

每次 onChange 都会调用这个吗?我想在每次单元格值更改和验证时切换类。 @StangSpree 是的,应该。在这里阅读更多 - ag-grid.com/javascript-grid-cell-styles/#refresh-of-styles

以上是关于如何在角度的 ag-grid 单元格中应用自定义 css 类?的主要内容,如果未能解决你的问题,请参考以下文章

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

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

如何在单个 ag-grid 单元格中显示两列值?

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

如何在一个ag-grid单元格中显示两个列值?

如何从 ag-grid 单元格中打开模态对话框单击 Angular 6