Ag grid 是否可以在单个AG网格单元中显示多个图标,然后能够过滤每个图标上的行?

Ag grid 是否可以在单个AG网格单元中显示多个图标,然后能够过滤每个图标上的行?,ag-grid,Ag Grid,因此,我是否能够在此处显示多个图标?如果是,用户是否能够通过选择过滤器中的每个图标来过滤网格行,以显示具有每个图标(单独或作为组的一部分)的行 用户可以点击图标打开一个细节网格吗 提前感谢请查看实现您的用例的示例: 您可以使用CellRenders在一行上显示多个图标,首先必须将其提供给网格: columnDefs: [ // group cell renderer needed for expand / collapse icons { field: 'name

因此,我是否能够在此处显示多个图标?如果是,用户是否能够通过选择过滤器中的每个图标来过滤网格行,以显示具有每个图标(单独或作为组的一部分)的行

用户可以点击图标打开一个细节网格吗


提前感谢

请查看实现您的用例的示例:

您可以使用CellRenders在一行上显示多个图标,首先必须将其提供给网格:

  columnDefs: [
    // group cell renderer needed for expand / collapse icons
    {
      field: 'name',
      minWidth: 300,
      cellRenderer: 'agGroupCellRenderer',
      cellRendererParams: {
        innerRenderer: 'iconRenderer',
      },
    },
  ],
  components: {
    iconRenderer: IconCellRenderer,
  },
};
以下是单元渲染器组件:

class IconCellRenderer {
  init(params) {
    this.params = params;
    this.eGui = document.createElement('div');
    this.eFilterButton = document.createElement('button');
    this.eExpandButton = document.createElement('button');
    this.eText = document.createElement('span');

    this.eText.textContent = params.value;
    this.eFilterButton.textContent = 'filter';
    this.eExpandButton.textContent = 'expand';

    this.eGui.appendChild(this.eText);
    this.eGui.appendChild(this.eFilterButton);
    this.eGui.appendChild(this.eExpandButton);

    this.eFilterButton.addEventListener('click', this.filterOnClick.bind(this));

    this.eExpandButton.addEventListener('click', this.expandOnClick.bind(this));
  }

  getGui() {
    return this.eGui;
  }

  expandOnClick(ev) {
    const isExpanded = this.params.node.expanded; 
    this.params.node.setExpanded(!isExpanded)
  }

  filterOnClick(ev) {
    const value = this.params.value;
    this.params.api.setFilterModel({
      name: { values: [value] },
    });
  }
}

这里的关键是我们可以通过在节点上调用
api.setExpanded(true)
来展开一行。我们可以通过调用
api.setFilterModel(filterModel)

在网格上进行过滤,非常感谢Shuheb!