取消所有选中的行:

$("jqgridtableid").trigger("reloadGrid");

设定选中行,可设定多行选中:

$("jqgridtableid").jqGrid('setSelection',id1);

$("jqgridtableid").jqGrid('setSelection',id2);

获得选中行的ID数组:

var ids = $("jqgridtableid").jqGrid('getGridParam','selarrrow');

获得某单元格的数据:

var celldata = $("jqgridtableid").jqGrid('getCell',id,colnum);

获得所有行的ID数组:

var ids =  $("jqgridtableid").jqGrid('getDataIDs');

获取jqGrid中选择的行的数据

如何获取jqGrid中选择的行的数据?

下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id:

var id=$(‘#gridTable’).jqGrid(‘getGridParam’,'selrow’);

如果想要获取选择多行的id,那这些id便封装成一个id数组,那可以使用以下:

var ids=$(‘#gridTable’).jqGrid(‘getGridParam’,'selarrrow’);

如果想获取选择的行的数据,只要传入rowId即可,如下:

var rowData = $(“#gridTable”).jqGrid(‘getRowData’,rowId);

而这个rowData是一个对象,如果要获取选择的行的这个对象的属性值,如name的值,需如下:

var rowName=rowData.name;

当然你这个对象得有name这个属性才行。

应用实例:

var ids=$("#rightGrid9").jqGrid("getGridParam","selarrrow");
if(ids.length==1){
var rowid=$("#rightGrid9").jqGrid("getGridParam","selrow");
$("#rightGrid9").panGrid("downlayer",{"rowid":rowid});
}else{
alert("你没有选取或者选取为多行数据,不允许进入下一级");
}

核心提示:本文主要讲述subGrid(子数据表格)-jqGrid中文API(4)相关内容:JQgrid 中文api比较零散,嗨网在线 将陆续收集网上大虾翻译过的api,供各位需要的朋友参考,本篇jqGrid中文API主要介绍options ColModel(选项和列设置),jqgrid提供的所谓subgrid就是在我们每一条所选中记录下面在出现一个数据表格。

  1. subgrid安装
  2. 属性
  3. 事件:
  4. 方法:

JQgrid 中文api比较零散,嗨网在线 将陆续收集网上大虾翻译过的api,供各位需要的朋友参考,主要包括subGrid(子数据表格)Navigator Pager(导航分页)Events(事件)options ColModel(选项和列设置)。higrid.net上提供的本篇jqGrid中文API主要介绍options ColModel(选项和列设置),jqgrid提供的所谓subgrid就是在我们每一条所选中记录下面在出现一个数据表格(如图),里面的内容都是这条父记录的子记录。jqGrid提供了两种处理子记录的方法:subGrid方法和将一个grid作为subGrid

subgrid安装

确保你下载的`jqGrid`的js包中含有`grid.subgrid.js`组件

属性

下列的属性请在grid的options(选项)中使用--注:详见options ColModel(选项和列设置)

属性 类型 描述 默认值
subGrid boolean 若使用subgrid功能将此属性设置为true,此时在基本的Grid左侧会出现额外的显示加号图标的一列,表明用户可以点击加号展开该行显示subgrid数据,默认所有行是收缩的。 false
subGridOptions object 一组对subgrid设置的属性,默认所有属性使用下列的默认值{
plusicon : “ui-icon-plus”,
minusicon : “ui-icon-minus”,
openicon: “ui-icon-carat-1-sw”,
expandOnLoad: false,
selectOnExpand : false,
reloadOnExpand : true
}
plusicon and minusicon定义收缩和展开时的图标样式,名称必须符合Theme Roller的规范openicon当subgrid展开时minusicon下面的图标样式expandOnload为真时当数据装载时所有行自动展开selectOnLoad为真时当鼠标点击加号图标该行处于选中状态reloadOnExpand 为假时subgrid中的数据只装载一次,随后的点击仅仅显示隐藏数据并不会有ajax交互。
 
subGridModel array 这是一组描述subgrid列属性和subgrid数据的数组,只有当subGrid为真才生效,语法如:
subGridModel : [
{
name : ['name_1','name_2',…,'name_n'],
width : [width_1,width_2,…,width_n] ,
align : ['left','center',…,'right'] ,
params : [param_1,…,param_n],
mapping:['name_1_map','name_2_map',…,'name_n_map']}
]
name: 包含列去标签索引(labels)的数组
width: 包含列宽度的数组,个数要与name中的一致
align: 包含列中文字对齐状态的数组,值可为left、center、right,默认left
params: 类型数组,默认只将行id传给服务端,可以添加一个额外的参数传给服务端,名称可以是colModel中的name属性值
mapping:当repeateditems为false才可用,我们用name映射subgrid中的name,
 
subgridtype mixed 装入subgrid的数据类型。默认按父grid中的数据类型 null
subGridWidth integer 设置subgrid列的宽度 true
subGridUrl string 当subGrid属性为真才有效,获取subgrid数据的路径,jqGrid将行的ID增加此url中,若要添加其他参数,使用subGridModel  
ajaxSubgridOptions
object
设置ajax的全局属性作用于当subgrid获得数据时,会覆盖当前ajax的所有设置,包括完成事件 0

在配置subgrid前你需要先在xmlReader或jsonReader中配置subgrid项,默认的设置是

xmlReader : {

subgrid: {
root: “rows”,
row: “row”,
repeatitems: true,
cell: “cell”
}
}
jsonReader : {

subgrid: {
root: “rows”,
repeatitems: true,
cell: “cell”
}
}

映射规则与基本grid中的相同,了解更多jqGrid中文文档(3)–数据操作

下面是一个subGridType从服务端获取的例子

jQuery("#grid_id").jqGrid({
...
subgridtype: function(rowidprm) {
jQuery.ajax({
url:'url_to_the_service',
data:rowidprm,
dataType:"json",
complete: function(jsondata,stat){
if(stat=="success") {
var thegrid = jQuery("#grid_id")[0];
thegrid.subGridJson(eval("("+jsondata.responseText+")"),rowidprm.id);
}
}
});
},subgrid

rowidprms是一个包含行id和其他参数的数组,作为需要来设置subGridModel的参数和subGridJson方法

事件:

pID:点击行时会创建子表格subGrid,是个div元素,它的id就是pID
id:要展开行显示子表格的行id
sPostData:当subgrid响应时发布的数据

事件 参数 描述
subGridBeforeExpand pID,id 展开grid前触发,事件应返回false或true,当返回false,subgrid中的行不会被展开也不会打开。
subGridRowExpanded pID,id subgrid生效并且点击展开加号图标钮时触发,可以在subgrid中设置自定义数据
subGridRowColapsed pID,id 当点击收缩图标时触发,事件应返回false或true;当为false行不会收缩。
serializeSubGridData pID,id 此事件被用作经过ajax响应后初始化数据,需返回初始化的数据(XML、JSON等格式)

方法:

事件 参数 描述
subGridBeforeExpand pID,id 展开grid前触发,事件应返回false或true,当返回false,subgrid中的行不会被展开也不会打开。
subGridRowExpanded pID,id subgrid生效并且点击展开加号图标钮时触发,可以在subgrid中设置自定义数据
subGridRowColapsed pID,id 当点击收缩图标时触发,事件应返回false或true;当为false行不会收缩。
serializeSubGridData pID,id 此事件被用作经过ajax响应后初始化数据,需返回初始化的数据(XML、JSON等格式)

禁用/启用 subgrid:

jqGrid API 相关的更多相关文章

  1. jqGrid APi 详解

    jqGrid APi 详解 jqGrid皮肤 从3.5版本开始,jqGrid完全支持jquery UI的theme.我们可以从http://jqueryui.com/themeroller/下载我们所 ...

  2. Stack Overflow 上排名前十的与API相关的问题

    Stack Overflow是一个庞大的编程知识仓库,在Stack Overflow 上,数百万的提问被回答,并且这些回答都是高质量的.这就是为什么在Google搜索结果的排行榜上,Stack Ove ...

  3. 论vue项目api相关代码的组织方式

    论vue项目api相关代码的组织方式 看了下项目组同事的代码,发现不同项目有不同的组织版本 版本一: ├─apis │ a.api.js │ b.api.js │ b.api.js │ d.api.j ...

  4. 物联网时代-跟着Thingsboard学IOT架构-HTTP设备协议及API相关限制

    thingsboard官网: https://thingsboard.io/ thingsboard GitHub: https://github.com/thingsboard/thingsboar ...

  5. Phoenix简介概述,Phoenix的Java API 相关操作优秀案例

    Phoenix简介概述,Phoenix的Java API 相关操作优秀案例 一.Phoenix概述简介 二.Phoenix实例一:Java API操作 2.1 phoenix.properties 2 ...

  6. jqGrid API 全

    JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGrid Demo 是一个在线的演示项目.在这里,可以知道jqgrid可以做什么事情. 下面是转自其他人b ...

  7. jqGrid api 中文说明

    JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGrid Demo 是一个在线的演示项目.在这里,可以知道jqgrid可以做什么事情. 下面是转自其他人b ...

  8. jqGrid API (转)

    来源:https://www.cnblogs.com/MonaSong/p/5109991.html JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGr ...

  9. [置顶] API相关工作过往的总结之整体介绍

    此系列的总结文章,仅仅是我个人工作总结,有考虑不周之处还请各位同行多多指教. API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是 ...

随机推荐

  1. 【转】移动端App测试实用指南

    转自:互联网那点事 英文原文: http://mobile.smashingmagazine.com/2012/10/22/a-guide-to-mobile-app-testing/ 测试人员常被看 ...

  2. Codeforces gym 100685 F. Flood bfs

    F. FloodTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100685/problem/F Desc ...

  3. BZOJ 2705: [SDOI2012]Longge的问题 GCD

    2705: [SDOI2012]Longge的问题 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ...

  4. Codeforces 278C Learning Languages(并查集)

    题意抽象出来就是求联通块的个数吧,然后添加最少边使图联通. 注意所有人都不会任何语言的时候,答案是n而不是n-1. #include<algorithm> #include<iost ...

  5. [AngularJS] Provider

    This lesson describes what is really happening when you use the angularfactory and how you can make ...

  6. [置顶] mybatis的批量新增

    开发项目中,总是与数据打交道,有的时候将数据放入到一个集合中,然后在遍历集合一条一条的插入,感觉效率超不好,最近又碰到这个问题,插入50条数据用了将近1s,完全满足不了系统的需求.效率必须加快,然后网 ...

  7. 源码分析shiro认证授权流程

    1. shiro介绍 Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”: 授权 - 访问控制: 密码加密 ...

  8. struts2简单示例

    今天写一个struts2的例子,目的是为了让大家明白struts2的基本流程,其实框架没有大家想象的那么难,说白了struts2的本质就是一个大的Servlet,即原本需要提交到Servlet处理的部 ...

  9. python(4) - 装饰器

    由于函数也是一个对象,既然是对象就可以将它赋给变量,通过变量来调用该函数 def now(): print('2016-01-01') f = now #注意,这里不能带(),函数带上()表示执行函数 ...

  10. poj 3249 拓扑排序 and 动态规划

    思路:我们首先来一遍拓扑排序,将点按先后顺序排列于一维数组中,然后扫描一遍数组,将每个点的出边所连接的点进行更新,即可得到最优解. #include<iostream> #include& ...