Измените размер всех столбцов нескольких экземпляров ag-grid на одной странице - PullRequest
0 голосов
/ 19 июня 2020

У меня есть несколько экземпляров таблицы Ag-grid на одной странице, когда я изменяю размер окна браузера, размер столбцов автоматически не изменяется до ширины таблицы, мы используем только один экземпляр Ag-grid для отображения всех сеток на странице, но изменение размера сетки (событие onGridReady) работает, работает только для последней загруженной сетки Ag, пожалуйста, помогите мне в этом, спасибо

function loadaggrid(id,rowdata,columndata){
    var gridOptions = {
                defaultColDef:{
                    editable: false,
                    enableRowGroup:true,
                    enablePivot:true,
                    enableValue:true,
                    sortable: true,
                    resizable: true,
                    filter: true
                },
                autoGroupColumnDef: {
                    width: 180
                },

                animateRows: true,
                debug: false,
                suppressAggFuncInHeader: true,
                sideBar: {
                    toolPanels: [{
                        id: 'columns',
                        labelDefault: 'Columns',
                        labelKey: 'columns',
                        iconKey: 'columns',
                        toolPanel: 'agColumnsToolPanel',
                        toolPanelParams: {
                            suppressPivots: true,
                            suppressPivotMode: true,
                        }
                    }],
                },
                rowSelection: 'single',
                columnDefs: cols,
                rowData: data,
                floatingFilter:true,
                paginationAutoPageSize:true,
                pagination: true,
                onGridReady: function (params) {
                    window.onresize = () => {
                        setTimeout(function(){
                           params.api.sizeColumnsToFit();
                        },500);
                    }
                },
                onFirstDataRendered(params) {
                    params.api.sizeColumnsToFit();
                }
        }

        new agGrid.Grid(id, gridOptions);
}

1 Ответ

1 голос
/ 19 июня 2020

вам необходимо реализовать разные функции onGridReady для каждой сетки.

//firstGridOptions:
onGridReady: (event) => {
 console.log('this is for first grid'); 
 this.firstGridApi.sizeColumnsToFit();
},

//secondGridOptions:
onGridReady: (event) => {
 console.log('this is for second grid'); 
 this.secondGridApi.sizeColumnsToFit();
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...