【问题标题】:Extjs, filtering grid dynamicallyExtjs,动态过滤网格
【发布时间】:2013-01-30 16:03:02
【问题描述】:

我正在使用 extjs4 进行开发。
如图所示,我有两个网格,我希望当我单击包含 Number 1Grid Panel 1 行时,Grid Panel 2 将仅显示包含 Number 1 的行。

【问题讨论】:

    标签: extjs grid extjs4 filtering extjs4.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 的数字
    猜你喜欢
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多