【问题标题】:How do I change floatingFilter option after Init of AGGrid?如何在 AG Grid 初始化后更改浮动过滤器选项?
【发布时间】:2020-08-15 20:18:58
【问题描述】:

我正在使用带有 JavaScript 模块的 AgGrid。我试图通过调用 api.refreshHeader 方法在 Grid 初始化后更改 floatingFilter 的值,但它不起作用。

function getServices() {
    var columnDefs = [
        { field: 'name', headerName: 'Name' },
        { field: 'Category', headerName: 'Category' },
    ];

    var gridOptions = {
        animateRows: true,
        columnDefs: columnDefs,
        defaultColDef: {
            resizable: true,
            filter: true,
            sortable: true,
            flex: 1,
        },
        floatingFilter: true, // I want to change this after init
    };

    var gridDiv = document.querySelector('#serviceGrid');
    var gridInstance = new agGrid.Grid(gridDiv, gridOptions);

    $.ajax({
        type: 'GET',
        dataType:"JSON",
        url: 'FROM_URL',
        success:function(data){
            gridOptions.api.setRowData(data)
        }
    });

    // For testing purpose I'm using timeout
    setTimeout(function() {
        gridInstance.gridOptions.floatingFilter = false;
        gridInstance.gridOptions.api.refreshHeader();
    }, 5000)
}

如果我在任何地方错了,请纠正我。

【问题讨论】:

    标签: javascript ag-grid


    【解决方案1】:

    我不确定您使用的是哪个版本,但在最新版本中,floatingFilters 进入 columnDefinitions 而不是 gridOptions

    floatingFilters 移动到defaultColDef 中的gridOptions

        var gridOptions = {
        animateRows: true,
        columnDefs: columnDefs,
        defaultColDef: {
            resizable: true,
            filter: true,
            sortable: true,
            flex: 1,
            floatingFilter: true, // I want to change this after init
        },
    };
    

    然后将您的 setTimeout 函数更改为此。

    // For testing purpose I'm using timeout
    setTimeout(function() {
        gridInstance.gridOptions.defaultColDef.floatingFilter = false;
        gridInstance.gridOptions.api.refreshHeader();
    }, 5000)
    

    这是一个plnkr,我从他们的一个有效示例中分叉出来。

    希望我能提供帮助。

    【讨论】:

    • 感谢您的精彩回答。我正在使用版本 v23.1.0。让我改变我的错误。
    猜你喜欢
    • 2020-09-27
    • 2019-08-16
    • 2019-06-23
    • 2019-12-15
    • 2018-02-06
    • 1970-01-01
    • 2020-04-11
    • 2020-02-06
    • 2016-09-26
    相关资源
    最近更新 更多