隐藏 Ag-Grid 中的特定行值 - Angular

Posted

技术标签:

【中文标题】隐藏 Ag-Grid 中的特定行值 - Angular【英文标题】:Hide specific row values in Ag-Grid - Angular 【发布时间】:2021-03-12 14:01:29 【问题描述】:

我已经实现了 Angular Ag-Grid 来显示数据列表。是否可以隐藏特定的行值(单元格)。

在这里我想隐藏最后一行的最后两个单元格(编辑和删除图标)。 目前我正在使用下面的代码。

setTimeout(()=>
   hideLastColCells()
,200);

hideLastColCells() 
   let tableRow = document.getElementsByClassName('ag-center-cols-container')[0].children;
   let lastRow = tableRow[tableRow.length - 1].children
   lastRow[lastRow.length-1].classList.add("d-none");
   lastRow[lastRow.length-2].classList.add("d-none");

但是由于超时,用户体验不好,这不是 Angular 的方式。

【问题讨论】:

【参考方案1】:

您可以将单元格渲染器模板包装在 <div *ngIf="!hidden">...</div> 中,然后执行以下操作:

class CellRenderer implements ICellRendererAngularComp 

  public hidden: boolean;

  // ...

  agInit(params: ICellRendererParams): void 
    // Set `this.hidden = true` if you want to hide your renderer here
    // In this case, when the row is the last one in the grid.
    // This assumes you're passing the rowData.length in the `context` object of your grid
    // in the parent component
    // e.g. `this.context =  numberOfRows: rowData.length `
  
    this.hidden = params.rowIndex === params.context.numberOfRows - 1;
  

  // ...


请记住以某种方式在 ag-grid 的 context 属性中传递 rowData 的长度

【讨论】:

以上是关于隐藏 Ag-Grid 中的特定行值 - Angular的主要内容,如果未能解决你的问题,请参考以下文章

如果 Selenium Java 中的“文本”匹配,如何获取动态表中的特定行值

如何在加载数据时隐藏 Ag-grid 中的所有行

从Array1中的特定行值中减去Array2中的行值

根据起始行值检查文本文件中的特定行字数

如何使用熊猫更改数据框中的特定行值? [复制]

如何从 ASP.NET C# 中的 SqlDataSource 获取特定的行值?