gpt4 book ai didi

javascript - 如何过滤 EXTJS 网格列表过滤器?

转载 作者:行者123 更新时间:2023-11-28 16:46:53 24 4
gpt4 key购买 nike

我有一个带有列表过滤器的网格。当我过滤一列时,其他列表过滤器不会随结果一起过滤

我做了一个test fiddle举例说明:


当我筛选到项目负责人 Angular 色时,我只有一个活跃状态结果(戴安娜)。但是,当我查看状态过滤器时我看到了(事件和暂停):
enter image description here

有没有办法只显示与结果关联的过滤器?

注意:我使用的是 ExtJS 6.5.2。

最佳答案

这可以通过覆盖列表过滤器的方法 getOptionsFromStore 来完成,而无需具体(从网格存储自动生成)存储。或者您可以基于它创建新组件

fiddle

Ext.define('Ext.grid.filters.filter.DynamicList', {
extend: 'Ext.grid.filters.filter.List',
alias: 'grid.filter.d-list',
type: 'd-list',
getOptionsFromStore: function (store) {

var me = this,
data = store.getData(),
map = {},
ret = [],
dataIndex = me.dataIndex,
labelIndex = me.labelIndex,
recData, idValue, labelValue;

if (store.isFiltered() && !store.remoteFilter ) {
data = data.getSource();
}

//each filtered records, not all
Ext.Array.each(store.getRange(),function (record) {
recData = record.data;

idValue = recData[dataIndex];
labelValue = recData[labelIndex];

if (labelValue === undefined) {
labelValue = idValue;
}

if (!map[idValue]) {
map[idValue] = 1;
ret.push([idValue, labelValue]);
}
}, null, {
filtered: true,
collapsed: true
});

return ret;
}
});

关于javascript - 如何过滤 EXTJS 网格列表过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60456759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com