我在MVC项目中使用JqGrid-subGrid选项来获得嵌套的gridview外观。
我能够在父网格中填充数据,我启用了子网格并指定了SubGrid Url来填充内部网格数据。现在问题是,在执行页面时,subgrid没有显示出来,不仅如此,还没有调用subGridUrl:方法。谁能帮我找出背后的原因?下面是我的代码:
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url: '/jqgrid/DynamicGridData/',
datatype: 'json',
mtype: 'GET',
colNames: ['SurveyQnGrpId', 'SurveyQnGroup1'],
colModel: [
{ name: 'SurveyQnGrpId', index: 'SurveyQnGrpId', width: 40, align: 'left' },
{ name: 'SurveyQnGroup1', index: 'SurveyQnGroup1', width: 400, align: 'left'}],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'SurveyQnGrpId',
sortorder: "SurveyQnGroup1",
viewrecords: true,
caption: 'My first grid',
subGrid: true,
subGridUrl: '/jqgrid/InnerGridData/',
subGridModel: [
{
name: ['SurveyQnGrpId','SurveyQnId', 'SurveyQn', 'SurveyQnCategory', 'MandatoryQn','RadioOption3'],
width: [10,10, 100, 10, 10,10],
align: ['left', 'left', 'left', 'left'],
params: ['SurveyQnGrpId']
}]
});
});
提前致谢,
安西
最佳答案
我发现转储内置子网格并使用它们的“ subgrid-as-grid”示例更容易地动态插入全新的网格:
From their wiki:
subGrid: true,
subGridRowExpanded: function(subgrid_id, row_id) {
// we pass two parameters
// subgrid_id is a id of the div tag created within a table
// the row_id is the id of the row
// If we want to pass additional parameters to the url we can use
// the method getRowData(row_id) - which returns associative array in type name-value
// here we can easy construct the following
var subgrid_table_id;
subgrid_table_id = subgrid_id+"_t";
jQuery("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"subgrid.php?q=2&id="+row_id,
datatype: "xml",
colNames: ['No','Item','Qty','Unit','Total'],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:80,align:"right"},
{name:"unit",index:"unit",width:80,align:"right"},
{name:"total",index:"total",width:100,align:"right",sortable:false}
],
height: 100%,
rowNum:20,
sortname: 'num',
sortorder: "asc"
});