1

引数を取り、非同期で実行する関数を使用しようとしていJsonStoreますが、その方法がわかりません。

myMethodを取りますがcallback、コールバックデータを?に関連付けるにはどうすればよいJsonStoreですか?

store = new Ext.data.JsonStore({
    proxy: new Ext.data.DirectProxy(
    {
        directFn:(new function(){return MyDwrService.myMethod('test')}),
    }),
    autoLoad:true,...

DwrProxy実装を使用してみましたが、に渡さないとグリッドにデータが入力されず、にfields渡すと多数の空白行が作成されます。何が得られますか?JsonReaderfields

   store = new Ext.data.Store({
        proxy: new Ext.ux.data.DwrProxy({
            apiActionToHandlerMap:{
                read: {
                    dwrFunction: MyService.myMethod,
                    getDwrArgsFunction: function() {
                        return ["testUser"]
                    }
                }
            }
        }),
        reader: new Ext.data.JsonReader({fields:myFields}),
        autoLoad:true,
    fields:myFields,
    remoteSort:true
});
4

2 に答える 2

0

有効にして使用するDWR3JSONP、プロキシは必要ありません。

于 2011-05-01T22:58:25.667 に答える
0

リーダーには必ずフィールドを含める必要がありますが、空白行がある理由がわかりません。空のレコードは取得されないと確信しています。allowBlank:falseがそれを分類している可能性があります。使用する場合は、次のコードを使用します。

var myReader = new Ext.data.JsonReader({
    root : 'objectsToConvertToRecords',
    idProperty: 'id',
    fields : [
        {name: 'id', allowBlank:false},
        {name: 'foo', allowBlank:false},
        {name: 'bar', allowBlank:false}
    ]
});

var dwrProxy = new Ext.ux.data.DwrProxy({
    apiActionToHandlerMap : {
        read : {
            dwrFunction : RemoteClass.remoteReadMethod,
            getDwrArgsFunction: function(request, newData, oldData) {
                return [request.params.myId];
            }
        }
        create : {
            dwrFunction : RemoteClass.remoteCreateMethod,
            getDwrArgsFunction: function(request, newData, oldData) {
                return [newData];
            }
        }
        update : {
            dwrFunction : RemoteClass.remoteUpdateMethod,
            getDwrArgsFunction: function(request, newData, oldData) {
                return [newData];
            }
        }
        destroy : {
            dwrFunction : RemoteClass.remoteDestroyMethod
        }
    }
});

var store = new Ext.data.Store({
     proxy: dwrProxy,
    reader: myReader,
    writer : myWriter,
    autoLoad : true,
    autoSave: true,
    baseParams: { tiploc: this.tiploc }
})
于 2011-07-26T19:33:36.517 に答える