Цикл статей «Документация jqGrid на русском».
Следующая статья — «Пользовательские данные в jqGrid».
Предыдущая статья — «Массив данных в jqGrid».
Эта опция позволяет объявлять не сам тип данных, а как обрабатывать данные, предоставленные сервером (которые могут всё ещё приходить в JSON или XML). Функции, определённые как datatype, могут вызывать addXMLData, addJSONData или addRowData после получения данных. Если вы используете постраничную навигацию, то будет полезным вызвать
your_grid.setGridParam({lastpage: your_number}) , чтобы указать количество страниц.
Соглашение вызова:
1 2 3 |
datatype : function(postdata) { // do something here } |
Datatype-функции снабжаются одним объектом, содержащим информацию для запроса, которая обычно была бы преобразована в параметры GET или POST. Этот объект совместим с объектом, передаваемым в функцию $.ajax .
Рассмотрим наш пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<script type="text/javascript"> ... jQuery(document).ready(function(){ jQuery("#list").jqGrid({ datatype: function(postdata) { jQuery.ajax({ url: 'example.php', data:postdata, dataType:"xml", complete: function(xmldata,stat){ if(stat=="success") { var thegrid = jQuery("#list")[0]; thegrid.addXmlData(xmldata.responseXML); } } }); }, colNames:['Inv No','Date', 'Amount','Tax','Total','Notes'], colModel :[ {name:'invid', index:'invid', width:55}, {name:'invdate', index:'invdate', width:90}, {name:'amount', index:'amount', width:80, align:'right'}, {name:'tax', index:'tax', width:80, align:'right'}, {name:'total', index:'total', width:80, align:'right'}, {name:'note', index:'note', width:150, sortable:false} ], pager: '#pager', rowNum:10, rowList:[10,20,30], sortname: 'invid', sortorder: 'desc', viewrecords: true, caption: 'My first grid' }); }); ... </script> |
Цикл статей «Документация jqGrid на русском».
Следующая статья — «Пользовательские данные в jqGrid».
Предыдущая статья — «Массив данных в jqGrid».