2011-12-07 8 views
2

私は、オブジェクトのリストを返すextjs4のストアを持っています。リーダーのプロパティを設定して、後でページングを使用できるように要素を数えたいと思っています。リーダーをextjsストアに設定する

参考までに、すでにextjsを使用している例ではcountプロパティ(totalCount)とリストされているオブジェクトのタイプ(トピック)がありますが、リストはありません。参照用

は: example

また、私のコードページごとの結果の限界を認識doesntのグリッドが、ページングツールバーで行います。

var sm = Ext.create('Ext.selection.CheckboxModel'); 

Ext.define('Cliente', { 
    extend: 'Ext.data.Model', 
    fields: [{ 
     name: 'ID', 
     type: 'int' 
    }, { 
     name: 'Nome', 
     type: 'string' 
    }, { 
     name: 'Email', 
     type: 'string' 
    }, { 
     name: 'RazaoSocial', 
     type: 'string' 
    }, { 
     name: 'TipoDeCliente', 
     type: 'string' 
    }], 
    idProperty: 'ID' 

}); 

var store = Ext.create('Ext.data.Store', { 
    pageSize: 3, 
    model: 'Cliente', 
    remoteSort: true, 
    proxy: { 
     type: 'ajax', 
     url: 'http://localhost:4904/Cliente/ObterClientes', 
     extraParams: { 
      nome: '', 
      tipopessoa: '', 
      email: '', 
      cpf: '', 
      estado: '', 
      cidade: '', 
      cep: '' 
     }, 
     reader: { 
      type: 'json', 
      root: 'data' 
     }, 
     simpleSortMode: true 
    }, 
    sorters: [{ 
     property: 'Email', 
     direction: 'DESC' 
    }] 
}); 

var pluginExpanded = true; 
var grid = Ext.create('Ext.grid.Panel', { 
    width: 500, 
    height: 250, 
    title: 'Array Grid', 
    store: store, 
    selModel: sm, 

    loadMask: true, 
    viewConfig: { 
     id: 'gv', 
     trackOver: false, 
     stripeRows: false 
    }, 
    columns: [{ 
     id: 'gridid', 
     text: "ID", 
     dataIndex: 'ID', 
     hidden: true 
    }, { 
     text: 'Nome', 
     width: 150, 
     sortable: true, 
     dataIndex: 'Nome' 
    }, { 
     text: 'Tipo de Cliente', 
     width: 100, 
     sortable: true, 
     dataIndex: 'TipoDeCliente' 
    }, { 
     text: 'Email', 
     width: 150, 
     sortable: true, 
     dataIndex: 'Email' 
    }], 
    bbar: Ext.create('Ext.PagingToolbar', { 
     store: store, 
     displayInfo: true, 
     displayMsg: 'Exibindo clientes {0} - {1} of {2}', 
     emptyMsg: "Nenhum cliente" 
    }), 
    renderTo: 'clientes', 
}); 

store.loadPage(1); 

答えて

1

店を計算する合計数を必要としますページングパラメータと合計を表示します。あなたのデータを追加するには、サーバー側の実装を変更する必要があります。 loadPageの代わりにstore.load();のようにデータをロードしてください。

EDIT:余分なカンマもあります。renderTo: 'clientes', JSLintを使用してコードを実行することをおすすめします。

+0

おかげDmitryB、私は私の問題を解決する別の方法を発見した: iはストア機能に オートロードこのレーンを追加した:{開始:0、限界:3}、 、私は私の方法は、これら2つを受信しましたパラメータを取得し、私のリストの "GetRange"を使用して、目的のページングを取得しました – Beoulve

関連する問題