ag-grid setColumnVisible无法正常工作

时间:2017-02-21 12:06:55

标签: ag-grid

我还需要做些什么才能确保gridOptions.columnApi.setColumnVisible做到它在锡上的说法吗? : -

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

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

5 个答案:

答案 0 :(得分:2)

两个可能的原因:

  • 当您尝试隐藏列时,网格尚未就绪。这可能不是你所说的网格已经渲染的情况,但值得检查
  • 您没有使用正确的列标识符。这可以是列ID或列对象。

可能是后者 - 你是否可能使用标题名称而不是字段/ col id?

例如,如果你有这个:

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

然后第一个参数是'athlete',而不是'Athlete'

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

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

但这通常不是必需的。

答案 1 :(得分:1)

如果这可以帮助其他人-我也遇到了类似的问题,但实际的列方法本身存在问题。因此,至少对于我的应用程序而言,该列的setVisible方法无法正常工作,但columnApi方法的setColumnVisible方法却可以工作:

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

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

答案 2 :(得分:0)

参考Aurelia ag-grid示例代码: 我在运行时隐藏了Columns,如下所示:* .ts组件的构造函数:

this.gridOptions.onGridReady = () => {
  ...snip
  this.columnApi = that.gridOptions.columnApi;
  this.gridOptions.columnApi.setColumnVisible('REQCONTEXT', false);
}//onGridReady

其中'REQCONTEXT'是要隐藏的列的名称。

答案 3 :(得分:0)

确保您知道

 (gridReady)="onGridReady($event)" 

在模板中。

我一直都这样做!

干杯!

答案 4 :(得分:0)

我遇到了确切的问题,只需添加即可解决

boo

致电i32