jqGrid的subGrid子表格
使用完整jqGrid作为子表格
使用子表格,涉及到jqGrid的三个选项:
- subGrid :首先必须将jqGrid的subGrid选项设置为true,默认为false;当此项设为true的时候,Grid表格的最左边将会添加一列,里面有一个“+”图标,用于展开子格;
- subGridRowExpanded :当点击“+”展开子表格时,将触发此选项定义的事件方法;
- subGridRowColapsed :当点击“-”收起子表格时,将触发此选项定义的事件方法;
注1 :subGridRowExpanded定义的事件方法函数将会得到两个参数:
- subgrid_id :子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id。
- row_id :主表格中所要展开子表格的行的id。
注2 :在subGridRowExpanded定义的事件方法函数中,即可根据以上两个参数,创建新的jqGrid对象,其中的options选项可参考主表格的jqGrid选项来运用。可以理解为在主表格中在嵌套一个新的jqGrid对象。当然,在subGridRowExpanded定义的事件函数中,也不一定非得嵌套一个新的jqGrid到主表格,可以将其放置于任何自己希望的位置,甚至做些别的操作,根本不去里理会子表格,比如使用$.ajax()向Server发送ajax请求,并根据返回的json,做些自定义的操作。
注3 :应当注意subGridRowColapsed的拼写并太符合规范,但却不得不遵循这个拼写。哈哈~
注4 :相对于subGridRowExpanded必须定义事件函数来完成操作,subGridRowColapsed不用刻意定义对应的事件函数;因为当行收起的时候,上面提到的那个动态创建用来容纳子表格的div,其里面的内容将会被自动移除(removed)。
现在来看看代码中到底多了哪些内容。
$(function(){
    // 配置jqGrid组件
    $("#gridTable").jqGrid({
        url: "jqGrid05.action",
        datatype: "json",
        mtype: "GET",
        height: 350,
        width: 600,
        colModel: [
              {name:"id",index:"id",label:"编码",width:40},
              {name:"lastName",index:"lastName",label:"姓",width:80},
              {name:"firstName",index:"firstName",label:"名",width:80},
              {name:"email",index:"email",label:"电子邮箱",width:160,sortable:false},
              {name:"telNo",index:"telNo",label:"电话",width:120,sortable:false}
        ],
        viewrecords: true,
        rowNum: 15,
        rowList: [15,50,100],
        prmNames: {search: "search"},
        jsonReader: {
            root:"gridModel",
            records: "record",
            repeatitems : false,
        },
        pager: "#gridPager",
        caption: "联系人列表",
        hidegrid: false,
        shrikToFit: true,
        subGrid: true,  // (1)开启子表格支持
        subGridRowExpanded: function(subgrid_id, row_id) {  // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
            var subgrid_table_id;
            subgrid_table_id = subgrid_id + "_t";   // (3)根据subgrid_id定义对应的子表格的table的id  
            var subgrid_pager_id;
            subgrid_pager_id = subgrid_id + "_pgr"  // (4)根据subgrid_id定义对应的子表格的pager的id  
            // (5)动态添加子报表的table和pager
            $("#" + subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+subgrid_pager_id+"' class='scroll'></div>");  
            // (6)创建jqGrid对象
            $("#" + subgrid_table_id).jqGrid({
                url: "fetchPatentCases.action?contact.id="+row_id,  // (7)子表格数据对应的url,注意传入的contact.id参数
                datatype: "json",
                colNames: ['编号','内部编码','名称','申请号'],
                colModel: [
                    {name:"id",index:"id",width:80,key:true},
                    {name:"internalNo",index:"internalNo",width:130},
                    {name:"name",index:"name",width:80,align:"right"},
                    {name:"applicationNo",index:"applicationNo",width:80,align:"right"}
                ],
                jsonReader: {   // (8)针对子表格的jsonReader设置
                    root:"gridModel",
                    records: "record",
                    repeatitems : false
                },
                prmNames: {search: "search"},
                pager: subgrid_pager_id,
                viewrecords: true,
                height: "100%",
                rowNum: 5
           });
       }
    });  
});
 

jqGrid的subGrid子表格的更多相关文章
- jqgrid嵌套子表格
		jqgrid的subGrid子表格 jqGrid的一项高级功能就是嵌套子表格,使用起来也非常简单.使用的方式有两种: 使用普通的subGrid子表格: 使用一个完整jqGrid作为子表格: 1.选项含 ... 
- jqGrid subGrid配置 如何首次加载动态展开所有的子表格
		有时候需求需要默认加载表格的时候把子表格的数据也显示出来,经过研究相关SubGrids API配置如下: 属性 类型 描述 默认值 subGrid boolean 设置为true启用子表格.如果启用子 ... 
- jqgrid子表格
		.前台 <%-- builed by manage.aspx.cmt [ver:] at // :: --%> <%@ Page Language="C#" Au ... 
- jqGrid插件的重载表格的解决方案
		jqGrid插件的重载表格的解决方案 $("#table_list_1").empty();// 清空表格内容 var parent=$("#gbox_table_lis ... 
- 使用POI创建word表格-在表格单元格中创建子表格
		要实现的功能如下:表格中的单元格中有子表格 实现代码如下: XWPFParagraph cellPara = row.getCell(j).getParagraphArray(0); //row.ge ... 
- vue里使用elementUI里的下拉树表格,如何定义个性化的子表格?
		最近项目写到一个业务,首先需要展示各类分组的基本信息,然后需要点击每个分组展示该分组下子的所有具体信息 一开始我是打算用tab来展示就是首先父分组的名称就是各个不同的tab按钮,然后点击按钮再展示不同 ... 
- JqGrid 自定义子表格 及 自定义Json 格式数据不展示
		项目第一次使用JqGrid ,发现功能强大,但由于对他不熟悉,也没有少走弯路,记录一下. 1.引用 <link href="~/Scripts/JqGrid/jqgrid/css/ui ... 
- GridControl 主从模式(Master-detail)子表格获取行数据
		今天遇到一个问题,gridcontrol使用主从表的时候,在子表中获取子表的行数据时居然获取不到,郁闷了很久.然后在网上找到方法(出处在这里:https://q.cnblogs.com/q/83412 ... 
- jqgrid使用(1)生成表格
		1.引入js,css 2,基本配置 function init() { $("#list1").jqGrid({ url: "../Listing.ashx", ... 
随机推荐
- Java中逗号运算符的使用
			今天看到一道面试题,题目如下: 题目解释: 上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b ... 
- pd.Panel转化成json,然后再还原回来
			在使用tornado的write时候有一个需求,是将panel转化成json;而接收端再将json还原成panel格式. 尝试了很久,终于实现了. panel1 =pd.Panel({"on ... 
- Android开发 navigation的跳转动画实现
			前言 此篇博客只简短的介绍navigation如何添加跳转页面的动画属性,如果你还为接触了解过navigation.建议你看我另一篇博客Android开发 navigation入门详解 创建动画xml ... 
- Oracle18C安装后首次创建数据库并用sql developer 创建连接和用户
			注意: SQL Developer 不能用于创建Oracle数据库,只能用来连接已经创建的数据库,数据库的建立要通过Database Configuration Assistant(DBCA)来完成. ... 
- 【转载】TCP拥塞控制算法 优缺点 适用环境 性能分析
			[摘要]对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点.以及它们的适用环境. [关键字]TCP拥塞控制算法 优点 缺点 适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端 ... 
- 数论+线性dp——cf1174A
			直接推公式没有推出来 看了题解才会做.. 首先能够确定前面几个数的gcd一定是2^j * 3^k, 其中k<=1 那么可以用dp[i][j][k]来表示到第i位的gcd是2^j*3^k f(j, ... 
- http://wiki.ros.org/navigation/Tutorials/RobotSetup
			http://wiki.ros.org/navigation/Tutorials/RobotSetup 
- sass与less的区别?Stylus又是啥?
			现在写样式大家基本上都会用上CSS预处理器,而比较流行的预处理器就是这三位老哥了Less.Sass 和 Stylus: 在这之前,我们先了解一点,sass和scss有什么区别? SCSS 是 Sass ... 
- PHP实现对短信验证码发送次数的限制
			http://www.jb51.net/article/94878.htm 对用户获取短信验证码的手机号.ip.和浏览器(使用唯一标识)进行限制.本文介绍的方法是对用户每天只能通过同一浏览器或同一ip ... 
- 基于token的验证
			认证.权限和限制 身份验证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制.然后 权限 和 限制 组件决定是否拒绝这个请求. 简单来说就是: 认证确定了你是谁 权限确定你能不 ... 
