Как изменить опцию плавающего фильтра после инициализации AGGrid? - PullRequest
1 голос
/ 01 мая 2020

Я использую AgGrid с модулем JavaScript. Я пытаюсь изменить значение плавающего фильтра после инициализации Grid, вызвав метод api.refreshHeader, но он не работает.

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)
}

Исправьте меня, если я где-то ошибаюсь.

1 Ответ

1 голос
/ 01 мая 2020

Я не уверен, какую версию вы используете, но в последней версии floatingFilters go внутри 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 Я разветвился на одном из их примеров это работает.

Надеюсь, я смог помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...