2

我有一个组合框,其中一个商店通过远程从服务器获取数据。我的问题是我的分页不起作用。这是我的代码片段:

  Ext.define('EmployeeModel', {
     extend: 'Ext.data.Model',
     fields: [
        {name:'id', type:'int'},
        {name:'fullname', type:'string'}
     ]
  });

  // remote store
  var employeeStore= new Ext.data.Store(
  {
     model: 'EmployeeModel',
     pageSize: 10, 
     proxy: {
        url: '/schedule/home/EmployeeList',
        params: {
           'active_id': params
        },
        type: 'ajax',
        autoLoad: true,
        reader: 
        {
           root: 'data',
           totalProperty: 'total',
           id: 'id',
           type: 'json'
        },
        simpleSortMode: true 
     }
  });



  this.employeeBox = new Ext.form.ComboBox(
  {
     store: employeeStore,
     displayField: 'fullname',
     valueField: 'id',
     typeAhead: false,
     loadingText: 'Searching...',
     triggerAction: 'all',
     hiddenName: 'employee',
     name: 'Employee Name',
     fieldLabel: 'Employee',
     selectOnFocus: true,
     allowBlank: false,
     anchor: '98%',
     width: 370,
     enableKeyEvents: true,
     pageSize: true,
     minListWidth: 220,
     minChars: 2,
     labelWidth: this.labelWidth,
     resizable: false 
  });

我不知道缺少什么,但据我通过互联网搜索,我复制并测试了所有内容,但仍然无法正常工作。

4

1 回答 1

1

如果你有远程存储,分页也应该是远程的。pageSize是唯一发送到服务器的参数,您应该在其中处理分页。在旁边pageSize,您还会看到 和 等start参数limit

您可以在此处查看示例:http ://docs.sencha.com/ext-js/4-1/#! /example/form/forum-search.html 查看 firebug 或类似内容中的请求,您将看到类似 url这:http://www.sencha.com/forum/topics-remote.php?_dc=1354611968514&query=form&page=2&start=10&limit=10&callback=Ext.data.JsonP.callback3

如果您想在客户端进行分页,您可以通过自定义 AJAX 请求创建本地存储和预加载数据。

于 2012-12-04T09:08:26.187 回答