0

データベース クエリの結果を返すサーブレットに ajax リクエストを送信します。私はfirebugで応答を見ることができ、これらの結果を私がすでに作成したリスト(またはその他..)に入れたいと思っています。

この投稿を読んでみましたが、役に立ちませんでした..

コード:

これは ajax リクエストです。

                        Ext.Ajax.request({
                        url: '/VIProject/Container',

                        success: function (action){alert('Lista caricata!'); console.debug(action); },
                        failure: function (){alert('Errore nel caricamento...');},
                        headers: {
                            'my-header': 'foo'
                        },
                        params: { action: "GETCONTAINERLIST" }
                    });

サーブレットからの応答 (firebug):

{"message":"OK","container":[{"idOrdine":"1","numLotto":"123"},{"idOrdine":"2","numLotto":"321"},{"idOrdine":"3","numLotto":"876"}],"success":true}

リスト:

    var listView = Ext.create('Ext.grid.Panel', {
    width:425,
    height:250,
    id: 'lista',
    collapsible:true,
    title:'Simple ListView <i>(0 items selected)</i>',
    store: //???
    multiSelect: true,
    viewConfig: {
        emptyText: 'No images to display'
    },

    columns: [{
        text: 'idOrdine',
        flex: 15,
        sortable: true,
        dataIndex: 'idOrdine'
    },{
        text: 'Last Modified',
        flex: 20,
        sortable: true,
        dataIndex: 'numLotto'
    }]
});

どのようにできるのか?

4

2 に答える 2

0

ストアを使用するようにコードを変更しました:

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: ['idOrdine', 'numLotto']
})

var listView = Ext.create('Ext.grid.Panel', {
    width:425,
    height:250,
    id: 'lista',
    collapsible:true,
    title:'Simple ListView <i>(0 items selected)</i>',
    store: store: {
        model: MyModel,
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: '/VIProject/Container',
            reader: {
                type: 'json',
                root: 'container'
            }
        }
    },
    multiSelect: true,
    viewConfig: {
        emptyText: 'No images to display'
    },

    columns: [{
        text: 'idOrdine',
        flex: 15,
        sortable: true,
        dataIndex: 'idOrdine'
    },{
        text: 'Last Modified',
        flex: 20,
        sortable: true,
        dataIndex: 'numLotto'
    }]
});
于 2013-02-28T01:40:06.213 に答える
0

このようにさえ、それは機能します:

        var proxy=new Ext.data.HttpProxy({url:'/VIProject/Container'});

    var reader=new Ext.data.JsonReader({},[
          {name: 'idOrdine', mapping: 'idOrdine'},
          {name: 'numLotto', mapping: 'numLotto'}
     ]);

     var store=new Ext.data.Store(    {
         proxy:proxy,
         reader:reader
     });

    store.load();

私はあらゆる方法で試しました..しかし、私は何をすべきかわかりません!

于 2013-02-28T18:57:23.963 に答える