0

カスタム webapi 関数によって返されたデータをバインドするのに助けが必要です。私の webapi 関数呼び出し構文が次のようになっているとします。

var filter = {<some conditions here>};

Myapp.systemcontroller.Getdata(filter).then(function(result){
   --- this result contain my data and total record 
   });

この関数をストア プロキシにバインドしてから、グリッドにバインドするにはどうすればよいですか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

保存するデータを追加するには、さまざまな方法を使用できます。データ構造(配列またはオブジェクト)に依存します。

  1. grid.getStore.add(モデル) -ref: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Store
  2. grid.getStore.loadData(data,[append]) - 参照: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Store-method-loadData
  3. grid.getStore.loadRawData(data,[append]) - 参照: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Store-method-loadRawData
  4. grid.getStore.loadRecords(records,options) - 参照: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Store-method-loadRecords

あなたの場合、 loadRecords() または add() を使用できます

于 2013-07-29T04:59:51.087 に答える
0

問題は修正されました。私のストアではプロキシを使用していません。上記の API を使用してデータを取得し、loadData メソッドを使用してストアにバインドしています。次に、ツールバーの totalProperty も設定します

-- ロード中

 Myapp.systemcontroller.Getdata(f).then(function (data) { 
            gridstore.loadData(data.Items);
            gridstore.totalCount = data.TotalNumber;
            var pgTb = Ext.getCmp('DataListPgTb');
            pgTb.onLoad();
            me.getLogList().setLoading(false);
        });

次に、toolbarchange イベントで

toolBarChange: function (tbar, pageData, eOpts) {   
        var pageSize = PrIns.getApplication().Configuration.PageSize;
        var me = this;
        me.getLogList().setLoading(true);
        var f = Ext.create(MyApp.webapi.filter.LogFilter', { pageIndex: pageData, pageSize: pageSize, orderBy: 'Ascending' });
        var gridstore = this.getLogList().getStore();
         Myapp.systemcontroller.Getdata(f).then(function (data) { 
            gridstore.loadData(data.Items);
            gridstore.totalCount = data.TotalNumber;
            gridstore.currentPage = pageData;       
            var pgTb = Ext.getCmp('DataListPgTb');
            pgTb.onLoad();
            me.getLogList().setLoading(false);
        });
        return false;
    },

false を返すと、プロキシを呼び出すことができなくなります

于 2013-08-02T09:12:04.173 に答える