jqGrid细节备注—jqGrid中获取subGrid的标题栏对象
原创
©著作权归作者所有:来自51CTO博客作者cnn237111的原创作品,请联系作者获取转载授权,否则将追究法律责任
jqGrid中获取subGrid的标题栏对象
jqGrid中subGrid的使用方法也很简单,设置subGrid:true,并且配置subGridRowExpanded,该属性是一个函数,在这个函数实现对subGrid的绘制,
思路也很简单,就是在当前的格子中插入table和div,然后在是通常的jqGrid的写法。大多数参数的配置和jqGrid的常规配置一致。
在要获取标题栏的时候,通过打印html(),发现,jqGrid构造的表格还是很复杂的。它的标题栏不是想象中的首行,而是另外一个独立的table,因此,要获得它也蛮复杂的,通过一系列parent()方法。下面是一段例子
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_pager_id;
subgrid_table_id = subgrid_id+"_t";
subgrid_pager_id = subgrid_id+"_div";
jQuery("#"+subgrid_id).append("<table id='"+subgrid_table_id+"' class='scroll'></table>");
jQuery("#"+subgrid_id).append("<div id='"+subgrid_pager_id+"' class='scroll'></div>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"./AjaxHandler/jqGrid_Jsondata_Content.ashx?id="+row_id,
datatype: "json",
jsonReader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "rowid"
},
colNames: ["内容", "作者", "时间"],
colModel: [
{ name: "content", index: "content", 550, sorttype: "string",sortable:false },
{ name: "author", index: "author", 80, sorttype: "string", formatter: "string",sortable:false },
{ name: "datetime", index: "datetime", 80, sorttype: "string", formatter: "string",sortable:false}
],
rowNum: 15,
height: "100%",
viewrecords: true,
pager:"#"+subgrid_pager_id,
loadComplete:function(){
//隐藏第一行标题栏
var p= $("#"+subgrid_table_id).parent().parent().parent()
p=$(p).find("table").first().hide();
}
});
}
表格html如下:
<DIV style="DISPLAY: none" class="ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix"><A style="RIGHT: 0px" class="ui-jqgrid-titlebar-close HeaderButton" role=link href="javascript:void(0)"><SPAN class="ui-icon ui-icon-circle-triangle-n"></SPAN></A><SPAN class=ui-jqgrid-title></SPAN></DIV>
<DIV style=" 725px" class="ui-state-default ui-jqgrid-hdiv" loading="true">
<DIV class=ui-jqgrid-hbox>
<TABLEstyle=" 725px" class=ui-jqgrid-htable role=grid aria-labelledby=gbox_listdata_jqtr88_t border=0 cellSpacing=0 cellPadding=0>
<THEAD>
<TR class=ui-jqgrid-labels role=rowheader>
<TH style=" 550px" id=listdata_jqtr88_t_content class="ui-state-default ui-th-column ui-th-ltr" role=columnheader><SPAN style="CURSOR: col-resize" class="ui-jqgrid-resize ui-jqgrid-resize-ltr"> </SPAN>
<DIV id=jqgh_listdata_jqtr88_t_content class="ui-th-div-ie ui-jqgrid-sortable">内容<SPAN style="DISPLAY: none" class=s-ico><SPAN class="ui-grid-ico-sort ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-ltr" sort="asc"></SPAN><SPAN class="ui-grid-ico-sort ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-ltr" sort="desc"></SPAN></SPAN></DIV></TH>
<TH style=" 80px" id=listdata_jqtr88_t_author class="ui-state-default ui-th-column ui-th-ltr" role=columnheader><SPAN style="CURSOR: col-resize" class="ui-jqgrid-resize ui-jqgrid-resize-ltr"> </SPAN>
<DIV id=jqgh_listdata_jqtr88_t_author class="ui-th-div-ie ui-jqgrid-sortable">作者<SPAN style="DISPLAY: none" class=s-ico><SPAN class="ui-grid-ico-sort ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-ltr" sort="asc"></SPAN><SPAN class="ui-grid-ico-sort ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-ltr" sort="desc"></SPAN></SPAN></DIV></TH>
<TH style=" 80px" id=listdata_jqtr88_t_datetime class="ui-state-default ui-th-column ui-th-ltr" role=columnheader><SPAN style="CURSOR: col-resize" class="ui-jqgrid-resize ui-jqgrid-resize-ltr"> </SPAN>
<DIV id=jqgh_listdata_jqtr88_t_datetime class="ui-th-div-ie ui-jqgrid-sortable">时间<SPAN style="DISPLAY: none" class=s-ico><SPAN class="ui-grid-ico-sort ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-ltr" sort="asc"></SPAN><SPAN class="ui-grid-ico-sort ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-ltr" sort="desc"></SPAN></SPAN></DIV></TH></TR></THEAD></TABLE></DIV></DIV>
<DIV style=" 725px; HEIGHT: 100%" class=ui-jqgrid-bdiv>
<DIV style="POSITION: relative">
<DIV></DIV>
<TABLEstyle=" 725px" id=listdata_jqtr88_t class=" ui-jqgrid-btable" role=grid tabIndex=1 aria-labelledby=gbox_listdata_jqtr88_t aria-multiselectable=false border=0 cellSpacing=0 cellPadding=0>
<TBODY>
<TR style="HEIGHT: auto" class=jqgfirstrow role=row>
<TD style=" 550px; HEIGHT: 0px" role=gridcell></TD>
<TD style=" 80px; HEIGHT: 0px" role=gridcell></TD>
<TD style=" 80px; HEIGHT: 0px" role=gridcell></TD></TR></TBODY></TABLE></DIV></DIV>
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
jqgrid is not a function
这个原因呢,我遇到的有两种第一种就是函数或者参数写的有问题第二种就是没有引入文件或者引入的文件不正确(一般为js文件)如果是使用jqGrid插件的话,那么应该是缺少下面的文件如果你遇到了其他的原因,请评论下方,帮助他人解惑。
bootstrap jqGrid function not script -
jqGrid Demos
jqGrid Demos
jqGrid Web -
jqGrid组件
[code="html"]jsp $(function() { // 配置jqGrid组件 $("#feedlesson").j
json XML HTML css javascript -
jqGrid 操作
[code="html"] function buycourse(uid, type) { // 配置jqGrid组件
jQuery ITeye json HTML ViewUI -
jqGrid
添加数据
添加数据 知识