1

ajax の呼び出し後に jqgrid を設定する必要があります。

このjson形式を返す関数(Javaサーブレット)があります:

[{"citta":"XXXX","via":"XXX","telefono":"1111-11111","provincia":"XX","clienteDesc":"Prova","clienteCode":"XXXXX"}]

そして、私はjqgridにこのコードを使用します:

                $("#clienti-navgrid").jqGrid( { 
                            //data: c
                            //datatype: "local"
                            datatype: "json",
                url: '/project/loadnotespese.do',
                colNames:['Codice Cliente','Descrizone Cliente','Via','Città','Provincia','Telefono'],                
                colModel:[
                        {name:'clienteCode', index:'clienteCode', width:'10', sortable:false},  
                        {name:'clienteDesc', index:'clienteDesc', width:'20', sortable:false}, 
                        {name:'via', index:'via', width:'30', sortable:false},  
                        {name:'citta', index:'citta', width:'20', sortable:false},
                        {name:'provincia', index:'provincia', width:'10', sortable:false}, 
                        {name:'telefono', index:'telefono', width:'10', sortable:false} 
                ],
                rowNum:500,
                autowidth:true,
                height:'auto',
                recordtext:"Ordini trovati {2}",
                emptyrecords:"Nessun risultato",
                viewrecords: true,
                caption: 'Tabella Clienti',         
                localReader : {
                                    //
                    repeatitems: false,
                }
            });//jqGrid

私が入れたら

var c = [{"citta":"XXXX","via":"XXX","telefono":"1111-11111","provincia":"XX","clienteDesc":"Prova","clienteCode":"XXXXX"}]

data: c, datatype: "local",

動作しますが、URL から取得する場合: '/project/loadnotespese.do' は動作しません。何か助けはありますか?

4

1 に答える 1

1

使用する場合はdatatype: "local"、オプションlocalReaderが使用されます。ちなみに、値repeatitems: falseはのデフォルト値ですlocalReaderドキュメントを参照)。したがって、使用する場合は、オプションのリストからdatatype: "local"現在のオプションをイベントで削除できます。localReader: { repeatitems: false }

反対側では、datatype: "json" 別のオプション jsonReaderを使用する場合に使用されます。repeatitemsのプロパティのデフォルト値はjsonReaderですrepeatitems: falseドキュメントを参照)。だからあなたは追加する必要があります

jsonReader: { repeatitems: false }

jqGridオプションのリストの場合。その後、グリッドは正常に埋められるはずです。

知っておくべき重要なもう1つの重要な考え方は、データ行のすべての項目に追加のプロパティを指定することです。id値はidページ全体で一意である必要があり、グリッド本体idの行(<tr>)要素の属性の値として使用されます。行アイテムの他のプロパティを一意のIDとして使用できる場合は、に追加の設定を含めるか、の列の対応する定義にプロパティをjsonReader追加することができます。たとえば、使用できるROWIDとして解釈できる場合key: truecolModelclienteCode

jsonReader: { repeatitems: false, id: "clienteCode" }

更新:追加で使用する必要があります

root: function (obj) { return obj; }

内部jsonReaderここを参照)。したがって、決勝戦jsonReader

jsonReader: {
    repeatitems: false,
    id: "clienteCode",
    root: function (obj) {
        return obj;
    }
}
于 2013-02-04T19:46:06.037 に答える