i need to populate jqgrid after ajax’s call.
I have a function (in java servelet) that returns this json format:
[{"citta":"XXXX","via":"XXX","telefono":"1111-11111","provincia":"XX","clienteDesc":"Prova","clienteCode":"XXXXX"}]
and i use this code for the 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
if i put
var c = [{"citta":"XXXX","via":"XXX","telefono":"1111-11111","provincia":"XX","clienteDesc":"Prova","clienteCode":"XXXXX"}]
and
data: c, datatype: "local",
works, but if i’ll get from url: ‘/project/loadnotespese.do’, it dosen’t work.
Any help?
If you use
datatype: "local"the optionlocalReaderwill be used. By the way the valuerepeatitems: falseis default value forlocalReader(see the documentation). So in case of usagedatatype: "local"you can event remove the current optionlocalReader: { repeatitems: false }from the list of the options.On the other side if you use
datatype: "json"another optionjsonReaderwill be used. The default value ofrepeatitemsproperty ofjsonReaderisrepeatitems: false(see the documentation). So you have to addin the case to the list of jqGrid options. After that the grid should be successfully filled.
One other important think which is important to know is specifying additional of
idproperty in every item of the row of data. Theidvalue must be unique over the whole page and it will be used as the value ofidattributes of the rows (<tr>) elements of the grid body. If some other property of the row items can be used as the unique id you can either include additional setting injsonReaderor addkey: trueproperty in the corresponding definition of the column incolModel. For example ifclienteCodecan be interpreted as the rowid you can useUPDATED: You should use additionally
inside of
jsonReader(see here). So the finaljsonReadershould be