Ag grid ag grid setColumnVisible不工作

Ag grid ag grid setColumnVisible不工作,ag-grid,Ag Grid,我还需要做些什么来确保gridOptions.columnApi.setColumnVisible符合tin上的说明吗- 此代码在运行时在渲染网格上运行,应立即隐藏列,但不执行任何操作:- gridOptions.columnApi.setColumnVisible("the col name", false); 这可能有两个原因: 尝试隐藏列时网格未准备就绪。这可能不是您所说的网格已渲染的情况,但值得检查 您没有使用正确的列标识符。这可以是列id或列对象 可能是后者——您是否使用了标题名

我还需要做些什么来确保gridOptions.columnApi.setColumnVisible符合tin上的说明吗-

此代码在运行时在渲染网格上运行,应立即隐藏列,但不执行任何操作:-

gridOptions.columnApi.setColumnVisible("the col name", false);

这可能有两个原因:

  • 尝试隐藏列时网格未准备就绪。这可能不是您所说的网格已渲染的情况,但值得检查
  • 您没有使用正确的列标识符。这可以是列id或列对象
可能是后者——您是否使用了标题名而不是字段/列id

例如,如果您有:

var columnDefs = [
    {headerName: "Athlete", field: "athlete", width: 200}
];
然后第一个参数将是
“运动员”
,而不是
“运动员”

您还可以指定colId以排除任何冲突,然后在api调用中使用此id:

var columnDefs = [
    {headerName: "Athlete", field: "athlete", width: 200, colId: "athleteCol"}
];

但这通常不是必需的。

参考Aurelia ag网格示例代码: 我在运行时将列隐藏在*.ts组件的构造函数中,如下所示:

this.gridOptions.onGridReady = () => {
  ...snip
  this.columnApi = that.gridOptions.columnApi;
  this.gridOptions.columnApi.setColumnVisible('REQCONTEXT', false);
}//onGridReady
其中“REQCONTEXT”是要隐藏的列的名称

一定要弄清楚

 (gridReady)="onGridReady($event)" 
在模板中

我一直都这么做


干杯

如果这对其他人有帮助,我也遇到了类似的问题,但实际的column方法本身就是如此。因此,至少在我的应用程序中,列的setVisible方法不能正常工作,但columnApi方法的setColumnVisible方法可以正常工作:

// does NOT work correctly
this.columnApi.getColumn('name').setVisible(true); 

// does work correctly
this.columnApi.setColumnVisible('name', true);

我已经有了确切的问题,通过添加

    setTimeout(() => {
      this.grid.api.refreshView();
      this.grid.api.sizeColumnsToFit();
    }, 0)
调用
setColumnVisible