我的网格中有一个奇怪的问题而且找不到原因。我已经创建了几个子网格,并且在这个网格中从来没有遇到过问题,但是我很难生。显示主网格的信息没有任何问题,但子网格没有显示任何内容。
也就是说,他甚至成功地为子网格提供了php json。我试图享受另一个子网格必须工作,我正在更改网址,字段等,只有当我更改主网格的网址是它让我显示。为什么有人知道?
jQuery("#organismos").jqGrid({
url: 'model/ministerio/mod_organismo.php',
colNames:['Cód. Organismo','Data Efetiva','Estado', 'Sigla', 'Designação curta', 'Designação longa', 'Última alteração', 'Alterado pelo utilizador'],
colModel:[
{name:'COD_ORG',index:'COD_ORG',width:80, align:'center', editable:true, editrules:{required:true}, editoptions:{size: 5 ,maxlength:4}, formoptions: { elmsuffix: ' *'}},
{name:'DATA_EFETIVA',index:'DATA_EFETIVA',width:100,align:'center',datefmt: 'Y/M/d', editrules:{date:true},editable:true,editoptions:{ size: 11, maxlength: 10,dataInit: function(element) {$(element).datepicker({dateFormat: date_format, autosize:true})}}, formoptions: { elmsuffix: ' *'}},
{name:'ESTADO_DTEF',index:'ESTADO_DTEF',width:50, align:'center',edittype:'select', editoptions:{value:{A:'Ativo',I:'Inativo'}}, editable:true, editrules:{required:true}, formoptions: { elmsuffix: ' *'}},
{name:'SIGLA_ORG',index:'SIGLA_ORG',width:80, align:'center', editable:true, editrules:{required:true}, editoptions:{size: 13 ,maxlength:12}, formoptions: { elmsuffix: ' *'}},
{name:'DESC_C_ORG',index:'DESC_C_ORG', width:150, align:'center', editable:true, editoptions:{size: 31, maxlength:30}},
{name:'DESC_L_ORG',index:'DESC_L_ORG', width:300, align:'center', edittype:'textarea' ,editable:true, editrules:{required:true}, editoptions:{size: 31, maxlength:150}, formoptions: { elmsuffix: ' *'}},
{name:'DATA_ULT_ALT',index:'DATA_ULT_ALT', hidden:true},
{name:'UTILIZADOR',index:'UTILIZADOR', hidden:true}
],
sortname: 'DATA_EFETIVA',
caption:"Objetivo do Projeto",
pager: '#pager1',
height:'400',
multiselect: false,
subGrid: true,
subGridOptions: { "plusicon" : "ui-icon-triangle-1-e",
"minusicon" :"ui-icon-triangle-1-s",
"openicon" : "ui-icon-arrowreturn-1-e",
"reloadOnExpand" : false,
"selectOnExpand" : true },
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:"model/objetivos/mod_obj_estrategicos.php?idorg="+row_id,
colNames:['Cód. Obj. Estratégico','Data Efetiva','Estado', 'Designação curta', 'Designação longa', 'Peso', 'Última alteração', 'Alterado pelo utilizador'],
colModel:[
{name:'COD_OBJ_EST',index:'COD_OBJ_EST', width:80, align:'center', editable:true, editrules:{required:true}, editoptions:{size: 5 ,maxlength:4}, formoptions: { elmsuffix: ' *'}},
{name:'DATA_EFETIVA',index:'DATA_EFETIVA',width:100,align:'center',editable:true,editoptions:{ size: 11, maxlength: 10,dataInit: function(element) {$(element).datepicker({dateFormat: date_format, autosize:true})}}, formoptions: { elmsuffix: ' *'}},
{name:'ESTADO_DTEF',index:'ESTADO_DTEF', width:50, align:'center',edittype:'select', editoptions:{value:{A:'Ativo',I:'Inativo'}}, editable:true, editrules:{required:true}, formoptions: { elmsuffix: ' *'}},
{name:'DESC_C_OBJ_EST',index:'DESC_C_OBJ_EST', width:100, align:'center' ,editable:true, editrules:{required:true}, editoptions:{size: 31 ,maxlength:30}, formoptions: { elmsuffix: ' *'}},
{name:'DESC_L_OBJ_EST',index:'DESC_L_OBJ_EST', width:300, align:'center', edittype:'textarea' ,editable:true, editrules:{required:true}, editoptions:{size: 31 ,maxlength:150}, formoptions: { elmsuffix: ' *'}},
{name:'PESO',index:'PESO', width:50, align:'center',editable:true, editrules:{required:true, number: true}, editoptions:{size: 6 ,maxlength:5}, formoptions: { elmsuffix: ' *'}},
{name:'DATA_ULT_ALT',index:'DATA_ULT_ALT', hidden:true},
{name:'UTILIZADOR',index:'UTILIZADOR', hidden:true}
],
rowNum:20,
pager: pager_id,
sortorder: "asc",
editurl:"controller/objetivos/Estrategicos.php?idorg=" +row_id,
height: '100%',
autowidth: true
});
jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:true,add:true,del:true, view:true});
}
});
从网格1获得JSON:
{"page":"1","total":1,"records":"3","rows":[{"id":"1 ","cell":["1 ","2012\/10\/24","Ativo","Ta","funcionar?","OK","2012\/10\/18 13:49:35","1"]},{"id":"21 ","cell":["21 ","2012\/10\/31","Ativo","aa","aaa","oaa","2013\/01\/17 10:59:52","1"]},{"id":"12 ","cell":["12 ","2013\/01\/09","Ativo","TEJO","rio","rio","2013\/01\/03 18:21:40","1"]}]}
当我在网格1中选择一行时,从网格2中获得JSON:
{"page":"1","total":1,"records":"3","rows":[{"id":"AAASwaAAEAAAAC7AAA","cell":["12 ","2013\/01\/03","Ativo","1","1","1","2013\/01\/18 15:00:46","1"]},{"id":"AAASwaAAEAAAAC\/AAA","cell":["3 ","2012\/11\/01","Ativo","Barcelona","Juventus","14.9","2012\/12\/28 14:49:57","1"]},{"id":"AAASwaAAEAAAAC8AAB","cell":["4 ","2012\/12\/24","Ativo","Sim","ok","75.69","2012\/12\/28 14:50:33","1"]}]}
答案 0 :(得分:1)
就像我之前在评论中写过的那样,问题的原因是id
的错误值。如果删除了ids("1 "
到"1"
,"21 "
到"21"
和"12 "
到"12"
)原始non-working grid的尾随空格将是working:
答案 1 :(得分:0)
我不确定我在这里缺少什么,但我无法在子网格中找到数据,虽然我在父网格中看到数据并且能够扩展它....
var myData =
{"page":"1","total":"1","records":"2","rows":[{"id":"591","cell":["07/10/2013","Vas Editor","Workflow Transfer","All","1","591","null","2013-07-10 11:00:22",{"cell":["07/10/2013","Vas Editor","Workflow Transfer","All","1","591","null","2013-07-10 11:00:22",null]}]},{"id":"592","cell":["07/10/2013","Vas Editor","Pending Requirements","All","2","592","null","2013-07-10 11:00:35",{"cell":["07/10/2013","Vas Editor","Pending Requirements","All","2","592","null","2013-07-10 11:00:35",null]}]}],"message":""
};
jQuery("#noteTable").jqGrid({
datatype : "local",
colNames : [ 'Date', 'User Name', 'Tag(s)', 'Applicant', 'Note', 'Id','Applicant Id','Date TS','subRow'],
colModel : [
{name : 'date', index : 'date', width : 120 },
{name : 'userName', index : 'userName', width : 150 },
{name : 'tags', index : 'tags', width : 150 },
{name : 'applicant', index : 'applicant', width : 150, editable : true },
{name : 'note', index : 'note', width : 150 },
{name : 'id', index : 'id', hidden : true } ,
{name : 'applicantId', index : 'applicantId', hidden : true},
{name : 'dateTS', index : 'dateTS', hidden : true},
{name : 'subRow', index : 'subRow', hidden : true}
],
rowNum : 10,
rowList : [ 10, 20, 30 ],
pager : '#notesTablePager', // un comment this line to see the pagination bar
sortname : 'dateTS',
viewrecords : true,
sortorder : "desc",
idPrefix: "m",
subGrid: true,
subGridRowExpanded: function(subgrid_id, row_id) {
var data = $("#noteTable").jqGrid("getLocalRow", 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
console.log('row_id****'+row_id);
console.log('searchData *****'+searchData);
console.log('myData *****'+myData);
var localRowData1 = $(this).jqGrid('getLocalRow', row_id);
var localRowData = $("#noteTable").jqGrid('getLocalRow', row_id).cell;
console.log('localRowData1 ***************'+localRowData1);
console.log('localRowData ***************'+localRowData);
var subgrid_table_id;
var subgridTableId = subgrid_id + "_t";
$("#" + subgrid_id).html("<table id='" + subgridTableId + "'></table>");
$("#" + subgridTableId).jqGrid({
datatype: "local",
data: data.cell,
colNames : [ 'Date', 'User Name', 'Tag(s)', 'Applicant', 'Note', 'Id','Applicant Id','Date TS' ],
colModel : [
{name : 'date', index : 'date', width : 120 },
{name : 'userName', index : 'userName', width : 150 },
{name : 'tags', index : 'tags', width : 150 },
{name : 'applicant', index : 'applicant', width : 150, editable : true },
{name : 'note', index : 'note', width : 150 },
{name : 'id', index : 'id', hidden : true } ,
{name : 'applicantId', index : 'applicantId', hidden : true},
{name : 'dateTS', index : 'dateTS', hidden : true}
],
height: '100%',
rowNum:20,
sortname: 'Date',
sortorder: "desc",
idPrefix: "s_" + row_id + "_"
})
}
}).navGrid('#notesTablePager', {add : false, edit : false, del : false});
$("#noteTable").setGridParam({datatype : 'json',loadonce : true});
$("#noteTable")[0].addJSONData(myData);
$("#noteTable").setGridParam({datatype : 'local'});
$("#noteTable").setGridParam({pagination : true});
$("#notesResultDiv").css("display", "inline");
$("#noteTable").trigger('reloadGrid');