0

URI(WCFサービス)にグリッドのページングパラメーターを配置する際に問題が発生しました。

ここに私のグリッドの「ストア」コードがあります:

Ext.define('KP.store.Listls', {

    extend: 'Ext.data.Store',
    model: 'KP.model.Listls',

    autoLoad: true,

    pageSize: 50,
    autoLoad: { start: 0, limit: 50 },


    autoSync: true,
    proxy: {
        type: 'ajax',           
        startParam: undefined,
        api: {

        read: '/adres/listls?page=' + 1  + '&size=' + 20            
        },
        reader: {
            type: 'json',
            root: 'data',           
            totalProperty: 'total'
        }     
    }

});

そしてここに私のインターフェースサービスのコード:

 [WebInvoke(
        Method = "GET",
        //UriTemplate = "/list",
        UriTemplate = "listls?page={page}&size={size}",                
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Bare
    )]
    List<Person> GetLs(string page, string size);

問題は次のコード文字列にあります。

read: '/adres/listls?page=' + ???  + '&size=' + 20

ページ番号を理解するためにどのパラメータを使用しますか?どうもありがとう!

4

1 に答える 1

1

それほど簡単ではありませんが、実行可能です。次の2つを実装する必要があります。

  1. ExtJsリーダーの使用$skipをあなたstartParamとあなたのとして変更$takeしますlimitParam。また、WCF側でこれを解析するために特別なロジックを実装する必要はありません。すでに理解して$skipおり$takeます。

  2. なんとかしてレコードの総数を送信するようにWCF側を変更します。デフォルトでは、ページ付けが使用される場合、JSONオブジェクト内で送信されるレコードの総数は-1になるためです。

于 2012-08-24T14:56:55.383 に答える