Консультация № 184014
13.09.2011, 19:43
58.45 руб.
0 0 0
Здравствуйте! У меня возникли сложности с таким вопросом:
Добрый вечер! Нужна консультация по плагину jQuery для создания таблиц jqGrid.
Все примеры на http://www.trirand.com/blog/jqgrid/jqgrid.html
Проблема заключается в том, что необходимо реализовать два сабгрида, у меня получается только один. В официальной документации не указана данная возможность, но она есть.
Код в приложении. Буду очень благодарен, если кто-то сможет помочь.

Приложение:
<script type="text/javascript">
jQuery("#list2").jqGrid({
height: 300,
datatype: "local",
colNames:['Id','Дисциплина', 'Правильных заданий', 'Процент','Дата','Тип акции','Действия'],
colModel:[
{name:'id',index:'id', width:45, align:"center", sorttype:"int"},
{name:'subject',index:'subject', width:210},
{name:'rightdone',index:'rightdone', width:170, align:"center", sorttype:"int"},
{name:'rightdone_pers',index:'rightdone_pers', width:80, align:"center", sorttype:"int"},
{name:'date',index:'date', width:80, align:"center", sorttype:"date"},
{name:'control_type',index:'control_type', width:110, align:"center"},
{name:'actions',index:'actions', width:150, sortable:false, align:"center"} ],
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'id',
viewrecords: true,
subGrid: true,
sortorder: "desc",
caption: "Контрольные акции",
subGridRowExpanded:
function (subgrid_id, row_id) {

var subgrid_table_id, pager_id;
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"subgrid.php",
postData:{'action':'getsubgrid', 'id':row_id},
datatype: 'json',
mtype: 'POST',
colNames: ['No','Item','Qty','Unit','Line Total'],
colModel: [ {name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false} ],
rowNum:20,
pager: pager_id,
sortname: 'num',
sortorder: "asc",
height: '100%' });
jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false}) },
subGridRowColapsed: function(subgrid_id, row_id) {
// this function is called before removing the data
// var subgrid_table_id;
// subgrid_table_id = subgrid_id+"_t";
// jQuery("#"+subgrid_table_id).remove(); }
}
});
var mydata = [
<?php echo $jsonResults; ?>
];

for(var i=0;i<=mydata.length;i++)
jQuery("#list2").jqGrid('addRowData',i+1,mydata[i]);
jQuery("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
jQuery("#list2").trigger("reloadGrid");// чтобы фигню не выдавал
jQuery("#list2").css("marginLeft", "-19");
jQuery("#gview_list2").width(882);
jQuery(".ui-jqgrid-hdiv").width(882);
jQuery(".ui-jqgrid-bdiv").width(882);
</script>

Обсуждение

Форма ответа