如何在 AG Grid 初始化后更改浮动过滤器选项?
How do I change floatingFilter option after Init of AGGrid?
我将 AgGrid 与 JavaScript 模块一起使用。我试图通过调用 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)
}
如果我有任何错误,请纠正我。
我不确定您使用的是哪个版本,但在最新版本中,floatingFilters
进入 columnDefinitions
而不是 gridOptions
。
将 floatingFilters
移到 gridOptions
中的 defaultColDef
内。
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 我从他们的一个有效示例中分叉出来的。
希望我能帮上忙。
我将 AgGrid 与 JavaScript 模块一起使用。我试图通过调用 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)
}
如果我有任何错误,请纠正我。
我不确定您使用的是哪个版本,但在最新版本中,floatingFilters
进入 columnDefinitions
而不是 gridOptions
。
将 floatingFilters
移到 gridOptions
中的 defaultColDef
内。
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 我从他们的一个有效示例中分叉出来的。
希望我能帮上忙。