Extjs,动态过滤网格
Posted
技术标签:
【中文标题】Extjs,动态过滤网格【英文标题】:Extjs, filtering grid dynamically 【发布时间】:2013-01-30 16:03:02 【问题描述】:我正在使用 extjs4 进行开发。
如图所示,我有两个网格,我希望当我单击包含 Number 1
的 Grid Panel 1
行时,Grid Panel 2
将仅显示包含 Number 1
的行。
【问题讨论】:
【参考方案1】:这非常简单;订阅第一个网格的选择事件,并在该处理程序中过滤第二个网格的存储。就是这样。
grid1.on('select', function(grid,record)
grid2.store.clearFilter(true); // see http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-method-clearFilter
grid2.store.filter('Number', record.get('Number');
,this);
【讨论】:
这就是解决办法,但是我还是有问题,当我点击Grid Panel 1
那一行contanisNumber 1
时,Grid Panel 2
会被过滤掉,然后当我点击Grid Panel 1
的行,contanis Number 3
, Grid Panel 2
不会显示我想要的,因为它只包含 Number 1
!
@Aminesrine 查看我的编辑。现在它应该再次做你想做的事了。
谢谢@sra :) 我还有一个问题,我希望在呈现Grid Panel 1
时,它不会显示包含Number 1
的行。它将显示除Number 1
之外的所有内容。
@Aminesrine 我不明白...你能详细说明一下吗?
@Aminesrine 好吧,如果我理解正确,那么您也可以应用过滤器。类似于 grid1.store.filterBy(function(record) return record.get('Number') > 0 );
这应该只显示大于 0 的数字以上是关于Extjs,动态过滤网格的主要内容,如果未能解决你的问题,请参考以下文章