hello任何人都可以告诉我包含子网格值的本地数据的json格式。 我用下面的格式,但子网格数据不加载到子网格表中。子网格的JSON格式
var data=[{"Left_ssr_id":CaGM33098,"Mismatches":"6","Gaps":"1","AlignLen":"1119","Identity":"99.37","right_ssr_start":17308507,"Qstart":"33","query":"AB-Contig743","subject":"Ca7","Send":"17305359","Score":"2113","Evalue":"0.0","Left_ssr_end":17293825,"right_ssr_end":17308542,"right_ssr_id":CaGM33099 ,"Sstart":"17304241","Qend":"1150","Left_ssr_start":17293811,subgrid:[{"Right_ssr_start":17308507,"Right_ssr_end":17308542},{"Right_ssr_start":17308506,"Right_ssr_end":17308543}]}]
用于上传数据的代码。网格获取数据,但子网格仅显示标题和空白行。
$(document).ready(function(){
$("#blastform").submit(function(){
jQuery.ajax({
data: $(this).serialize(),
url: this.action,
type: this.method,
dataType: "json",
error: function() {
$(thistarget).html("<span class='error'>Failed to submit form!</span>");
},
success: function(res) {
var data=res;
$("#datatable").jqGrid({
datatype:"local",
data:data,
colNames:['QueryID','SubjectID', . . . 'Right_nearest_distance'],
colModel:[ {name:'query',index:'query', width:55},
{name:'subject',index:'subject', width:80},
.,
.,
{name:'right_near_dist',index:'right_near_dist', width:50, sortable:false}, ],
rowNum:100,
rowList:[100,200,500],
pager: $('#pager2'),
sortname: 'QueryID',
viewrecords: true,
sortorder: 'desc',
loadonce: true,
altRows: true,
pgbuttons: true,
subGrid : true,
subGridUrl: 'local',
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({
datatype: "local",
colNames: ['ssr_start','ssr_end'],
colModel: [ {name:"Right_ssr_start",index:"Right_ssr_start",width:80,key:true},
{name:"Right_ssr_end",index:"Right_ssr_end",width:130},
],
rowNum:20,
pager: pager_id,
sortname: 'ssr_start',
sortorder: "asc",
height: '100%' });
jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false}) },
caption: 'Blast Results'
});
$("#datatable").jqGrid('navGrid','#pager2', {position: 'right'});
jQuery("#datatable").jqGrid('navGrid','#blastresults',{edit:false,add:false,del:false});
}
})
return false;
}
);
);
知道如何为jqGrid提供数据很重要。你是否使用'datatype:“local”'data:data'? “colModel”中如何定义网格列?哪些数据字段是唯一的,因此可以用作rowid?如果你使用数据发布服务器的响应(如果你使用'datatype:“json”'),那么你应该使用其他jqGrid选项。所以你应该把更多的信息附加在你的问题上。 – Oleg 2013-04-30 15:57:24
@Oleg:我提供了我用来为jqgrid提供数据的脚本。 – Dadu 2013-05-01 10:16:11
单独调用ajax并使用'datatype:“local”,data:data'是错误的。你会有很多缺点。 jqGrid为case提供'datatype:“json”'类型。可以使用其他选项,如'jsonReader'和'jsonmap'来通知jqGrid如何从服务器响应中获取有关网格数据的信息。你的主要问题是关于子网格,但代码不显示你如何填充子网格。我会参考另一个可能可以帮助你的老问题来写简短的答案。 – Oleg 2013-05-01 10:35:12