ag grid 如何在现场有条件

aggrid how to have if condition in the field

我想在 ag 网格 coldef 中添加一个 if 条件

this.ColumnDefs =
      [
        {

          headerName: "Link Text", field: "portfolioCompanyLinkName.name", editable: false
        },
}

所以在上面的例子中我们可以说如果 portfolioCompanyLinkName.name 是空的然后从其他列中取值吗?

试试这个:

this.ColumnDefs =
      [
        {
          headerName: "Link Text", 
          field: "portfolioCompanyLinkName.name", 
          editable: false,
          cellRenderer: function (params) {
          return params.data ? params.data.portfolioCompanyLinkName.name ? params.data.portfolioCompanyLinkName.name :   params.data.(other field) : '';
        }
        },
}

您可能想使用 valueGetter,您可以在此处进行详细说明:https://www.ag-grid.com/javascript-grid-value-getters/

this.columnDefs = [
  {
    headerName: "Link Text",
    valueGetter: function(params) {
    if(params.data.portfolioCompanyLinkName.name !== undefined) {
        return params.data.name;
    } else {
        return params.data.portfolioCompanyLinkName.otherfield;
    }

    }
  },
...

您需要添加 hidesuppressToolPanel 属性并使它们为 true 以隐藏和显示。

隐藏:

var columnDefs = [
    {
       headerName: "Stone_ID",
       field: "Stone_ID",
       width: 100,
       hide: true,
       suppressToolPanel: true
    }
]

显示:

var columnDefs = [
    {
       headerName: "Stone_ID",
       field: "Stone_ID",
       width: 100,
       hide: false,
       suppressToolPanel: true
    }
]