首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EXTJS3,如何手动控制寻呼事件?

EXTJS3,如何手动控制寻呼事件?
EN

Stack Overflow用户
提问于 2012-07-04 04:07:18
回答 1查看 1.4K关注 0票数 2

在EXTJS3中,我定义了一个数据存储和网格,它工作得很好。现在问题是分页,我想手动控制‘下一步’按钮事件。

我尝试在分页中使用“beforechange”事件,但它不起作用,因为它是“之前”。如何手动加载带参数值的存储区?

服务器端是C#。

谢谢

商店是

代码语言:javascript
复制
  var store = new Ext.data.DirectStore({
            storeId: 'store',
            directFn: Report.Function1,
            autoLoad: false,
            paramsAsHash: false,
            paramOrder: 'param1|start',
            ....
            fields: [ ...   ],
            remoteSort: false,          
        });

寻呼是

代码语言:javascript
复制
var pager = new Ext.PagingToolbar({
            store: store,
            displayInfo: true,
            pageSize: this.pageSize,

            listeners: {
                beforechange: function (paging, params) {
                    currentPage = params.start;
                    report_search(params);
                }
            }
        });

 function report_search(page) {
    var store = Ext.StoreMgr.lookup('store');
    store.removeAll();

    store.load({
        params: {
            param1: Ext.getCmp("param1").getValue(),           
            start: page.start
        }
    });
}
EN

回答 1

Stack Overflow用户

发布于 2014-04-10 17:40:48

在加载之前,您似乎想要对存储应用一个特殊的参数。

要做到这一点,您需要:

代码语言:javascript
复制
this.store.on('beforeload', this.applyParams.createDelegate(this));
...

applyParams: function(store, options) {
    options.params = options.params || {};

    var params = {
        param1: Ext.getCmp("param1").getValue()
    };

    Ext.apply(options.params, params);
}

我希望你不需要拒绝‘下一步’按钮点击,因为商店可以从其他地方加载(自动,手动从其他地方)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11318401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档