Extjs Grid - 单击带有搜索条件的下一页按钮

Posted

技术标签:

【中文标题】Extjs Grid - 单击带有搜索条件的下一页按钮【英文标题】:Extjs Grid - Click next page button with search condition 【发布时间】:2013-07-05 07:30:46 【问题描述】:

我有一个网格面板,我在 initComponet 函数中创建了商店

,initComponent: function() 
        var store = Ext.create('Ext.data.Store', 
            model: 'MyObject',
            autoLoad: false,
            pageSize:22,
            remoteSort:true,
            proxy: 
                 type: 'ajax',
                 url: 'example.php',
                 reader: 
                    type: 'json',
                    totalProperty: 'total',
                    root: 'results'   
                 
             
        );
        this.store = store;
        this.dockedItems = [
           xtype: 'pagingtoolbar',
           store: this.store,
           displayMsg: '0 - 1 / 2',
           emptyMsg: 'empty',
           dock: 'bottom',
           displayInfo: true,
           pageSize: 22
        ];

        this.callParent(arguments);
        this.store.load(params:start:0, limit:22);
    

我使用一些值进行表单搜索,当我按下搜索按钮时,我将执行以下代码

grid.store.load(
       params:
             start:0, 
             limit:22, 
             signalSearch: 1,
             search1: myValue1,
             search2: myValue2,
       
);

在我的 php 文件中会捕捉到那是搜索

if ( have $_REQUEST["signalSearch"]) 
     // print json with condition search
else 
     // print json with all data

结果返回 2 页(很好)。但是当我按下下一页按钮以在第 2 页上查看一些结果但我的商店加载失败(我认为当我按下下一页按钮时他们调用 store.load(params:start:0, limit:22); 并且在我的 php 文件中将与 else 一起运行案子)。

那不是电话

grid.store.load(
           params:
                 start:0, 
                 limit:22, 
                 search1: myValue1,
                 search2: myValue2,
           
    );

我的搜索思路不好?我该如何解决这个谢谢

【问题讨论】:

【参考方案1】:

如果您在商店的“加载”功能中使用参数,则这些参数仅针对单个请求,因此如果您单击工具栏的下一页,您将不会发布 signalSearch 参数。 您应该在加载前事件上注册一个自定义侦听器并添加您的参数:

initComponent: function()
      ....
      this.callParent(arguments);
      this.store.addListener('beforeload', function(store, operation)
           Ext.apply(operation.params, 
               signalSearch: 1 // Or you could make conditions if apply this search param
           );
           return true;
      , this);

【讨论】:

以上是关于Extjs Grid - 单击带有搜索条件的下一页按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何有条件地转到pageViewController中的下一页?

通过按钮选择 ag-grid-table 中的下一行(如果下一行在下一页上)?

Ext Js Paging 无法导航到下一页,刷新,最后一页不起作用

extjs ext5 Ext.grid.Panel 分页,搜索

当我使用它与db2进行分页时,我的下一页是错误的

如何跳转到 PrintDocument 的下一页?