Цикл статей «Документация jqGrid на русском».
Следующая статья — «JsonReader как функция в jqGrid».
Предыдущая статья — «Строка с JSON в jqGrid».
При использовании JSON-данных с именованными значениями (то есть repeatitems равен false), мы можем использовать точечную нотацию.
Наше описание colModel может быть вот таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
jQuery("#gridid").jqGrid({ ... colModel:[ {name:'name',label:'Name', width:150,editable: true}, {name:'id',width:50, sorttype:"int", editable: true,formatter:strongFmatter}, {name:'email',label:'Email', width:150,editable: true,formatter:'email'}, {name:'stock',label:'Stock', width:60, align:"center", editable: true,formatter:'checkbox',edittype:"checkbox"}, {name:'item.price',label:'Price', width:100, align:"right", editable: true,formatter:'currency'}, {name:'item.weight',label:'Weight',width:60, align:"right", editable: true,formatter:'number'}, {name:'ship',label:'Ship Via',width:90, editable: true,formatter:'select', edittype:"select",editoptions: value:"2:FedEx;1:InTime;3:TNT;4:ARK;5:ARAMEX"}}, {name:'note',label:'Notes', width:100, sortable:false,editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"20"}} ], ... }); |
Обратите внимание на элементы, описанные как:
name:'item.price' and name:'item.weight'
Наши данные:
1 2 3 4 5 6 7 8 9 10 11 |
{ "page":"1", "total":2, "records":"13", "rows":[ {"id":"12345","name":"Desktop Computers","email":"josh@josh.com","item":{"price":"1000.72", "weight": "1.22" }, "note": "note", "stock": "0","ship": "1"}, {"id":"23456","name":"<var>laptop</var>","note":"Long text ","stock":"yes","item":{"price":"56.72", "weight":"1.22"},"ship": "2"}, {"id":"34567","name":"LCD Monitor","note":"note3","stock":"true","item":{"price":"99999.72", "weight":"1.22"},"ship":"3"}, {"id":"45678","name":"Speakers","note":"note","stock":"false","ship":"4"} ] } |
То есть при использовании вложенной структуры JSON-данных,
в colModel, где идёт описание формата,
в указателе name имена ключей вложенных структур разделяются точками.
Пример.
Обычная структура
1 2 |
JSON {"item": 12} colModel:[{name:"item"}] |
Вложенная структура
1 2 |
JSON {"item":{"price":"1000.72", "weight": "1.22" }} colModel:[{name:"item.price"},{name:"item.weight"}] |
Цикл статей «Документация jqGrid на русском».
Следующая статья — «JsonReader как функция в jqGrid».
Предыдущая статья — «Строка с JSON в jqGrid».