jqgrid实现子表格
来源:互联网 发布:淘宝客服骂人怎么投诉 编辑:程序博客网 时间:2024/06/01 15:53
subGridRowExpanded :当点击“+”展开子表格时,将触发此选项定义的事件方法;这时会自动创建一个div,在这个方法中可以获取到这个div的id和表格中该行的id
subGridRowColapsed :当点击“-”收起子表格时,将触发此选项定义的事件方法;
在点击“-”时,子表格的div自动清除
在点击”+”时,也可以不去添加子表格,而去做别的自己需要的操作
html代码
<div class="panel-body"><!--定义外表格容器--> <table id="list" style="heigth: 1000px"></table> <div id="pager"></div></div>
js代码
$(function() { //页面加载完成之后执行 pageInit(); //显示表格 }); function pageInit() { //创建jqGrid组件 jQuery("#list") .jqGrid( { height : 400, url : "collectLine/json/all",//组件创建完成之后请求数据的url datatype : "json",//请求数据返回的类型。可选json,xml,txt colNames : [ 'id', '名称', '描述', '线路长度', '是否有效', '目的地', '编辑' ], colModel : [ { name : 'id', index : 'id', width : 50, align : 'left' }, { name : 'name', index : 'name', width : 80, align : 'left' }, { name : 'remark', index : 'remark', width : 200, align : 'left' }, { name : 'length', index : 'length', width : 100, align : 'left' }, { name : 'isValid', index : 'isValid', formatter : validFormatter, width : 150, align : 'left' }, { name : 'destination.name', index : 'destination.name', width : 100, align : 'left' }, { name : 'edit', index : 'edit', width : 150, align : 'left' } ], rowNum : 10,//一页显示多少条 传后台 rowList : [ 10, 20, 30 ],//可供用户选择一页显示多少条 pager : '#pager',//表格页脚的占位符(一般是div)的id sortname : 'name',//初始化的时候排序的字段 默认的排序列 传后台 sortorder : "asc",//排序方式,可选desc,asc mtype : "post",//向后台请求数据的ajax的类型。可选post,get viewrecords : true, jsonReader : { root : "content", //数据 page : " ", //当前页 total : "totalPages", // 总页数 records : "totalElements",//从服务器端返回的记录数 repeatitems : false, id : "id" }, gridComplete : function() { // 数据加载完成后 添加 采购按钮 var ids = jQuery("#list").jqGrid('getDataIDs'); for (var i = 0; i < ids.length; i++) { var id = ids[i]; var editBtn = "<div class='btnBox'> " + "<button class='btn btn-primary' onclick='editLine(" + id + ")'>编辑</button> " + "<button class='btn btn-primary' onclick='deleteLine(" + id + ")'>删除</button></div>"; $("#list").jqGrid('setRowData', id, { edit : editBtn }); } }, caption : "",//表格的标题名字 subGrid : true,//开启子表格支持 //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id subGridRowExpanded : function(subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id bindSubGrid(subgrid_id, row_id); } }); /*创建jqGrid的操作按钮容器*/ /*可以控制界面上增删改查的按钮是否显示*/ jQuery("#list").jqGrid('navGrid', '#list', { edit : false, add : false, del : false, search : false }); } function bindSubGrid(subgrid_id, collectLineId) { 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 : 'collectLinePoint/json/all/' + collectLineId, // (7)子表格数据对应的url,注意传入的contact.id参数 datatype : "json", colNames : [ 'id', '图片', '名称', '描述', '排序', '纬度', '经度', '海拔', '编辑' ], colModel : [ { name : "id", index : "id", width : 50, key : true }, { name : "picUrl", index : "picUrl", formatter : picFormatter, width : 100 }, { name : "name", index : "name", width : 80, align : "left" }, { name : "remark", index : "remark", width : 80, align : "left" }, { name : "sort", index : "sort", width : 50, align : "left" }, { name : "altitude", index : "altitude", width : 80, align : "left" }, { name : "longitude", index : "longitude", width : 80, align : "left" }, { name : "latitude", index : "latitude", width : 80, align : "left" }, { name : "edit", index : "edit", width : 150 } ], rowNum : 10, rolList : [ 10, 20, 30 ], pager : subgrid_pager_id, mtype : "post", viewrecord : true, jsonReader : { root : "content", //数据 page : "", //当前页 total : "totalPages", // 总页数 records : "totalElements",//从服务器端返回的记录数 repeatitems : false, id : "id" }, gridComplete : function() { // 数据加载完成后 添加 采购按钮 var ids = jQuery("#" + subgrid_table_id) .jqGrid('getDataIDs'); for (var i = 0; i < ids.length; i++) { var id = ids[i]; var editBtn = "<div class='btnBox'> " + "<button class='btn btn-primary' onclick='editPoint(" + id + ")'>编辑</button> " + "<button class='btn btn-primary' onclick='deletePoint(" + subgrid_table_id + "," + id + ")'>删除</button></div>"; $("#" + subgrid_table_id).jqGrid( 'setRowData', id, { edit : editBtn }); } }, }); }
1 0
- jqgrid实现子表格
- 使用完整jqGrid作为子表格
- 实现jqgrid表格数据上下滚动
- jqgrid 表格插件实现多行表头
- jqGrid中文文档(9)–subGrid(子数据表格)
- 关于JAVA Jquery jqgrid的subGrid子表格
- jqGrid表格插件实现多行表头的解决办法
- jqGrid表格多次点击行交替选中的实现
- jqGrid表格插件
- jqGrid 表格demo
- jqgrid 表格数据导出
- jquery表格插件jqgrid
- jqGrid+jsp 表格分页
- jqGrid表格之subGrid
- JqGrid 显示表格
- jqGrid 表格插件
- jqGrid创建表格
- jqgrid表格常用属性
- 30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!
- 隐式转换和显式转换及强制转换的区别【转】
- Eclipse下Java Web工程的文件夹结构
- CentOS改IP
- strlen和sizeof的区别
- jqgrid实现子表格
- JavaWeb基础(servlet+jsp)
- Codeforces 449 B. Jzzhu and Cities(图论dijk)
- USB3.0驱动安装
- unity rendering, maps, PBR, NPR
- Linux 系统目录结构
- java主要集合类的数据结构学习
- mysql安装服务及启动服务
- 动态链接库与静态链接库的区别