jqGrid 常用方法

 

方法名参数返回值说明
addJSONDatadatanone使用传来的data数据填充表格。使用方法: var mygrid = jQuery(”#”+grid_id)[0]; var myjsongrid = eval(”(”+jsonresponse.responseText+”)”); mygrid.addJSONData(myjsongrid); myjsongrid = null; jsonresponse =null;
addRowDatarowid,data, position, srcrowid成功为true, 否则为false根据参数插入一行新的数据,rowid为新行的id,data为新行的数据,position为新增行的位置,srcrowid为新增行的参考位置。data数据格式:{name1:value1,name2: value2…} name为在colModel中指定的名称
addXMLDatadatanone根据传来的数据填充表格。用法:var mygrid = jQuery(”#”+grid_id)[0]; mygrid.addXmlData(xmlresponse.responseXML);
clearGridDataclearfooterjqGrid对象清除表格当前加载的数据。如果clearfooter为true时则此方法删除表格最后一行的数据
delRowDatarowid成功为true否则为false根据rowid删除行,但不会从服务器端删除数据
footerDataaction,data, formatjgGrid对象设置或者取得底部数据。action:“get”或者“set”,默认为“get”,如果为“get”返回值为name:value,name为colModel中名称。如果为“set”则值为name:value,name是colModel中的名称。format:默认为true,当为 true时,在设置新值时会调用formatter格式化数值
getCellrowid, iCol单元格内容返回指定rowid,iCol的单元格内容,iCol既可以是当前列在colModel中的位置索引也可以是name值。注意:在编辑行或者单元格时不能使用此方法,此时返回的并不是改变的值,而是原始值
getColcolname, returntype, mathoperationarray[] or value返回列的值。colname既可以是当前列在colModel中的位置索引也可以是name值。returntype指定返回数据的类型,默认为false。当为false时,返回的数组中只包含列的值,当为true时返回数组是对象数组,具体格式 {id:rowid, value:cellvalue} ,id为行的id,value为列的值。如: [{id:1,value:1},{id:2,value:2}…]。mathoperation 可选值为'sum, 'avg', 'count'
getDataIDsnonearray[]返回当前grid里所有数据的id
getGridParamnamemixed value返回请求的参数信息
getIndrowid,rowcontentmixed如果rowcontent为false,返回行所在的索引位置,id为行id。rowcontent默认为false。如果rowconent为ture则返回的为行对象,如果找不到行则返回false
getRowDatarowid or nonearray[]返回指定行的数据,返回数据类型为name:value,name为colModel中的名称,value为所在行的列的值,如果根据rowid找不到则返回空。在编辑模式下不能用此方法来获取数据,它得到的并不是编辑后的值
hideColcolnameor[colnames]jqGrid对象如果参数为一个列名则隐藏此列,如果给定的是数组则隐藏指定的所有列。格式: [“name1”,”name2”]
remapColumnspermutation, updateCells, keepHeadernone调整表格列的显示顺序,permutation为当前列的顺序,假如值是[1,0,2],那么第一列就会在第二位显示。如果updateCells为ture则是对单元格数据进行重新排序,如果keepHeader为true则对header数据显示位置进行调整
resetSelectionnonejqGrid对象选择或者反选行数据,在多选模式下也同样起作用
setCaptioncaptionjqGrid对象设置表格的标题
setCellrowid,colname, data, class, propertiesjqGrid对象改变单元格的值。rowid:当前行id;colname:列名称,也可以是列的位置索引,从0开始;data:改变单元格的内容,如果为空则不更 新;class:如果是string则会使用addClass方法将其加入到单元格的css中,如果是array则会直接加到style属性中;properties:设置单元格属性
setGridParamobjectjqGrid对象设置grid的参数。有些参数的修改必须要重新加载grid才可以生效,这个方法可以覆盖事件
setGridHeightnew_heightjqGrid对象动态改变grid的高度,只能对单元格的高度进行设置而不能对表格的高度进行动态修改。new_height:可以是象素值,百分比或者"auto"
setGridWidthnew_width,shrinkjqGrid对象动态改变表格的宽度。new_width:表格宽度,象素值;shrink:true或者false,作用同shrinkToFit
setLabelcolname, data, class, propertiesjqGrid对象给指定列设置一个新的显示名称。colname:列名称,也可以是列的位置索引,从0开始;data:列显示名称,如果为空则不修改;class:如果是 string则会使用addClass方法将其加入到单元格的css中,如果是array则会直接加到style属性中;properties:设置 label的属性
setRowDatarowid,data, cssprop成功true否则false更新行的值,rowid为行id。data值格式:{name1:value1,name2: value2…} name为colModel中名称;cssprop:如果是string则会使用addClass方法将其加入到行的css中,如果是array或者对象 则会直接加到style属性中
setSelectionrowid,onselectrowjqGrid对象选择或反选指定行。如果onselectrow为ture则会触发事件onSelectRow,onselectrow默认为ture
showColcolnamejqGrid显示列。colname可以是数组[“name1”,”name2”],但是name1或者name2必须是colModel中的name
trigger(“reloadGrid”)nonejqGrid对象重新加载当前表格,也会向服务器发起新的请求
updateColumnsnonenone同步表格的宽度,用在表格拖拽时,用法:var mygrid=jQuery(”#grid_id”)[0];mygrid.updateColumns();

jqGrid的通用方法和设置 

这些方法并不和jqGrid对象绑定,可以随意使用: 

jQuery.jgrid.jqGridFunction( parameter1,...parameterN );

函数名参数返回值说明
ajaxOptions空对象none这个函数可以改变jqgrid中用到的ajax请求参数,这个函数可以覆盖当前所有ajax请求设置。从3.6版本开始起有3个级别的ajax设置:第一 个级别就是在模块中设置ajax请求;第二个级别就是通过此函数设置;第三级别的设置是控制全局ajax请求的设置:jQuery.extend(jQuery.ajax({method specific options}, ajaxOptions, ThirdLevelajaxSettinds)); 当然我们也可以单独设置ajax的参数
jqIDstring解析后的string转义字符串,把两个反斜杠(\\)转化为单个反斜杠(\)
jgrid.htmlDecodestring转换后string把转码后的字符串还原
jgrid.htmlEncodestring编码后的string把字符串编码
jgrid.formatstring格式化后string简单字符串模板。用法:Example jQuery.jqgformat(“Please enter a value between {0} and {1}.”, 4,result : “Please enter a value between 4 and 8.”
jgrid.getCellIndexcellindex这个方法是用来修复在ie7里的一个bug
jgrid.stringToDocxmlstringxmlDoc把xmlstring转换为dom对象
jgrid.stripHtmlcontentnew_content去掉html标签返回标签中内容
jgrid.parsejsonstring对象把一个jsonstring转换为json对象

其他方法

方法名参数返回值说明
filterGridgrid_id,paramsHTML对象构造jqGrid的查询界面。grid_id:表格id;params:参数
filterToolbarparamsjqGrid对象同上。不同的是搜索输入框在header层下方
getColPropcolnamearray返回指定列的属性集合。name为colModel中名称
GridDestroygrid_idboolean从dom上删除此grid
GridUnloadgrid_idboolean跟GridDestroy不同的是table对象跟pager对象并不会被删除,以便下次使用
setGridStatestatejqGrid对象设置grid的状态,显示或者隐藏。这个方法不会触发onHeaderClick 事件。
setColPropcolname, propertiesjqGrid对象设置新的属性,对于动态改变列属性是非常有用的,但是有些属性的修改并不会起效。用法:jQuery(”#grid_id”).setColProp('colname',{editoptions:{value:“True:False”}});
sortGridcolname, reloadjqGrid对象按指定列进行排序。效果同setGridParam({sortname:'myname'}).trigger('reloadGrid'). 如果reload为true则会重新加载数据
updateGridRowsdata,rowidname,jsonreaderboolean修改表格中某行的数据,data数据格式:[{name:value,name1:value1…}, {name:value,name2:value2…}],name为colModel中的名称;rowidname某行的名称。 jsonreader:boolean值,默认false。如果为true则是定义数据的格式,data的值并不是name:value形式而只是 value

1.clearGridData(clearfooter) 清除表格当前加载的数据。如果clearfooter为true时则此方法删除表格最后一行的数据。

$('#jqgrid').clearGridData(true); //清除表格当前加载的数据
$("#searchbtn").click(function () {$('#jqgrid').clearGridData(true);//删除表格的最后一行initTable();
});$("#jqgrid").jqGrid('clearGridData');

2.addRowData(rowid,data, position, srcrowid) 根据参数插入一行新的数据,rowid为新行的id,data为新行的数据,position为新增行的位置,srcrowid为新增行的参考位置。data数据格式:{name1:value1,name2: value2…} name为在colModel中指定的名称

    var colModel = [{ name: 'legalPersonName', label: '法人', sortable: false },{ name: 'blCampusName', label: '校区', sortable: false },{ name: 'studentName', label: '学生姓名', sortable: false },{ name: 'invoiceHeaderName', label: '发票抬头', sortable: false },{ name: 'blueCreateTime', label: '开票时间', sortable: false },{ name: 'blueCreateUserName', label: '开票人', sortable: false },{ name: 'amount', label: '开票金额', sortable: false },{ name: 'invoiceNumber', label: '发票号码' }];var gridRowData = [{id:data.id,legalPersonName: data.legalPersonName,blCampusName: data.blCampusName,studentName: data.studentName,invoiceHeaderName: data.invoiceHeaderName,blueCreateTime: data.blueCreateTime||data.createTime,blueCreateUserName: data.blueCreateUserName||data.createUserName,amount: data.amount,invoiceNumber: data.invoiceNumber||'-'}];initEvent();
   initData();Util.modalExec(modal.parents(
'.modal'),initData);function initGrid() {gridContainer.html(gridHtm);modalJqgrid = modal.find('#modalLessonJqgrid');var params = {datatype:"local",colModel: colModel,pager: '#pagejqgrid',sortorder: "desc",maxHeight:60};EduBoss.generateTable(modalJqgrid, params);$.each(gridRowData,function(i){modalJqgrid.jqGrid('addRowData',gridRowData[i],gridRowData);//data数据格式:{name1:value1,name2: value2…} name为在colModel中指定的名称})}

3.delRowData  根据rowid删除行,但不会从服务器端删除数据

 jqgrid.jqGrid('delRowData', rowid);

4.getGridParam(option)   option为jqgrid初始化的参数如:url,colModel,rowNum,selarrrow等

grid.jqGrid('getGridParam', 'colModel')//拿到colModel的参数信息
$jqgridCached.jqGrid('getGridParam','selarrrow');//拿到jgrid中所有选择的数据的id
var ids = jQuery("#jqgrid").jqGrid('getGridParam', 'selarrrow');
if (ids.length === 0) {
Util.showAlert("请先选择缺课学员", true);
return false;
}
 

    function initTable() { EduBoss.generateTable(productInfoTable, {url:Api.getYingYeReportWebControllerSummary,colModel: colModel,nosort: true,footerrow: true,loadComplete: function () {//最底下统计栏var sumObj = {};  // 汇总数据var size = 0;$(productInfoTable.jqGrid('getGridParam', 'colModel')).each(function (i) {if (i == 0) {sumObj[$(this).attr('name')] = '合计';   //??怎么直接可以$(this).attr("name")?直接拿到了name对应的字符串了呢?}                                            //this是一个对象,$(this).attr("name")?
                                                                //productInfoTable.jqGrid('getGridParam', 'colModel') 返回的是一个数组,就是colModal
if ($(this).attr('sum')) { size++; sumObj[$(this).attr('name')] = parseFloat(productInfoTable.getCol($(this).attr('name'), false, 'sum')).toFixed(2); } }); if (size > 0) { productInfoTable.footerData('set', sumObj); } else { $(".footrow").remove(); } } }) }
var postData = grid.jqGrid("getGridParam", "postData");
grid.jqGrid("setGridParam", {page:1});
grid.jqGrid("setGridParam",{postData:EduBoss.commonUtils.tranFormVarToJson($("#frm"))}).trigger("reloadGrid")

var text = {yyy:"yys"};
console.log($(text).attr("yyy"))=》 为什么会输出yys?

5.footerData(action,data, format)  设置或者取得底部数据。action:“get”或者“set”,默认为“get”,如果为“get”返回值为name:value,name为colModel中名称。如果为“set”则值为name:value,name是colModel中的名称。format:默认为true,当为 true时,在设置新值时会调用formatter格式化数值

loadComplete : function(data){  highchartsObj.loadData();var sumObj = {};  // 汇总数据var size = 0;   $($("#jqgrid").jqGrid('getGridParam','colModel')).each(function(i){//遍历每一列if(i==0){sumObj[$(this).attr('name')] = '合计';}if($(this).attr('sum')){size++;//var sumNum = ;sumObj[$(this).attr('name')] = parseFloat($("#jqgrid").getCol($(this).attr('name'),false,'sum')).toFixed(0);}});if(size > 0){$("#jqgrid").footerData('set', sumObj);}else{$(".footrow").remove();}    
},

6.getCol(colname, returntype, mathoperation)返回列的值。colname既可以是当前列在colModel中的位置索引也可以是name值。returntype指定返回数据的类型,默认为false。当为false时,返回的数组中只包含列的值,当为true时返回数组是对象数组,具体格式 {id:rowid, value:cellvalue} ,id为行的id,value为列的值。如: [{id:1,value:1},{id:2,value:2}…]。mathoperation 可选值为'sum, 'avg', 'count'

7.getCell (rowid, iCol) 返回指定rowid,iCol的单元格内容,iCol既可以是当前列在colModel中的位置索引也可以是name值。注意:在编辑行或者单元格时不能使用此方法,此时返回的并不是改变的值,而是原始值

8.getDataIDs() 返回当前grid里所有数据的id

loadComplete: function () {var ids = jqgrid.jqGrid('getDataIDs');for (var i = 0; i < ids.length; i++) {var cl = ids[i];var row = jqgrid.jqGrid('getRowData', cl);        }
}

9.getRowData(rowid or none)   返回指定行的数据,返回数据类型为name:value,name为colModel中的名称,也就是name。value为所在行的列的值,如果根据rowid找不到则返回空。在编辑模式下不能用此方法来获取数据,它得到的并不是编辑后的值

  var row = jqgrid.jqGrid('getRowData', cl);   

10.setGridParam (object) 设置grid的参数。有些参数的修改必须要重新加载grid才可以生效,这个方法可以覆盖事件

    if(jqgrid.parents(".ui-corner-all").length > 0){ //要等table加载出来后再重新设置他的postData才有效jqgrid.jqGrid("setGridParam", {postData:  {"studentId":studentId}}).trigger("reloadGrid");}
 function search(){var params = EduBoss.commonUtils.tranFormVarToJson(_form);params["id"] = schoolId;params["region.id"] = regionId;params["schoolType.id"] = schoolTypeId;jqgrid.jqGrid("setGridParam", {page : 1});jqgrid.jqGrid("setGridParam",{postData : params}).trigger("reloadGrid");}

 

11.getGridParam 

12.setRowData(rowid,data, cssprop) 更新行的值,rowid为行id。data值格式:{name1:value1,name2: value2…} name为colModel中对应的每一个name对应的值;cssprop:如果是string则会使用addClass方法将其加入到行的css中,如果是array或者对象 则会直接加到style属性中

jqgrid.jqGrid('setRowData', ids[i], {act: actStr
});
{ name: 'legalPersonName', label: '法人', width: 10, sortable:false },
{ name: 'blCampusName', label: '校区', fixedFlag: true, sortable: false },
$("#orgGrid").jqGrid('setRowData',ids[i],{'legalPersonName':"2008-10-01",phone:"test",'blCampusName':"note",orgName:"200.00"});//根据Id主键,更新对应的数据

13.setSelection (rowid,onselectrow) 选择或反选指定行。如果onselectrow为ture则会触发事件onSelectRow,onselectrow默认为ture

onSelectRow: function (rowid) {var selectId = jqgridCustomer.jqGrid('getGridParam', 'selarrrow')[0];selectId === rowid || jqgridCustomer.setSelection(selectId, false);console.log(jqgridCustomer.setSelection(selectId, false))
},

14.trigger(“reloadGrid”) 重新加载当前表格,也会向服务器发起新的请求

转载于:https://www.cnblogs.com/susan-home/p/8535157.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新生必会的linux命令,jstat命令详解

导读Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”&#xff0c;它位于java的bin目录下&#xff0c;主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控&#xff0c;包括了对Heap size和垃圾回收状况的监控…

基于jsf的项目_JSF基于事件的交流:新派方法

基于jsf的项目在上一篇文章中 &#xff0c;我们学习了基于Observer / Event Listener和Mediator模式的基于事件的通信。 由于它们的缺点&#xff0c;我想展示基于事件的通信的更有效方法。 我们将从Google Guava EventBus开始&#xff0c;最后以CDI &#xff08;Java EE平台的上…

linux 天文软件,新闻|开源新闻速递:天文软件 Stellarium 0.15.0 发布

今日关注Stellarium 0.15.0 发布。这是一款全世界最棒的免费、开源、跨平台的天文软件应用&#xff0c;用户可以通过该软件来观看实时的星星、行星还有星云。最新版本进行了非常多的功能完善&#xff0c;修复了若干bug&#xff0c;新增了许多新特性。比如更新了AstroCalc工具&a…

linux javaweb环境单价,linux(centos)下Java Web环境开发

一、安装jdk百度搜索jdk&#xff0c;进入http://www.oracle.com/technetwork/java/javase/downloads/index.html找到自己需要版本的jdk的Linux压缩包&#xff1b;复制出这个压缩包的下载地址(尽量先点击下载&#xff0c;然后在下载的界面复制出资源的链接)在服务器的合适位置创…

带有Java Util日志记录的Java 8延迟调用

在博客文章“在Log4j2中更好地执行非日志记录器调用”中 &#xff0c;我介绍了可以在Log4j 2中使用的方法&#xff0c;这些方法可以减少或避免在基于指定日志级别实际上根本未记录的日志语句中调用方法。 作为讨论的一部分&#xff0c;我介绍了Log4j 2对使用lambda表达式的基于…

python对象分类

1 python对象分类 所有的Python对象都拥有三个特性&#xff1a;身份&#xff0c;类型和值 身份&#xff1a; 每一个对象都有一个唯一的身份标识自己。任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址类型&#xff1a; 对象的类型决定了对象可以…

怎样用u盘linux安装ntp协议,电脑中怎么配置NTP服务

NTP服务器是用来使计算机时间同步化的一种协议&#xff0c;可提供高精准度的时间校正&#xff0c;而且能通过加密确认来防止恶毒的协议攻击。下面让学习啦小编为大家介绍如何在电脑中配置NTP服务来实现局域网内设备的时间同步。电脑中怎么配置NTP服务1、先关闭Windows系统自带的…

SetGID 权限

一、SetGID针对文件的作用 1、只有可执行的二进制程序才能设置SGID权限 2、命令执行者要对该程序拥有 x &#xff08;执行&#xff09;权限 3、命令执行在执行程序的时候&#xff0c;组身份升级为该程序的属组 4、SetGID权限同样只在该程序执行过程中有效&#xff0c;也就是说组…

nosql的数据服务_使用NoSQL实现实体服务–第2部分:合同优先

nosql的数据服务现在该开始使用NoSQL项目对SOA实体服务进行编码了&#xff0c;并且正如我所承诺的&#xff0c;我将从Web服务的合同开始。 看一下本系列的第1部分 。 这种从Web服务合同定义开始的技术是面向服务的体系结构实现的“合同优先”方法的核心&#xff0c;并具有许多技…

weblogic双机热备部署linux,WebLogic应用在集群环境下的一些基本知识【转载】

4.2.1 基本概念1&#xff0e;硬件的cluster和WebLogic的cluster不是一回事&#xff0c;硬件做的是冷备份&#xff0c;对用户的session&#xff0c;用户请求的负载均衡等的处理是做不到 的&#xff0c;而且一般硬件的双机热备也不是时时的备份&#xff0c;而是间隔一段时间再将主…

vmware中centos6.4突然无法进入图形界面解决方法

今天遇到vmvare中centos6.4进度条走完了仍然没有进入图形界面&#xff0c;在网上找到了解决方法记录如下&#xff1a; 1. 按CtrlAltF5并输入root账号密码进入命令界面 2. vim /etc/inittab 打开/etc/inittab文件&#xff0c;并将文件最后id:5改为id:3&#xff0c;即将运行等级…

教程:正确的SLF4J日志记录用法以及如何检查它

SLF4J是一个非常流行的日志记录外观&#xff0c;但是&#xff0c;就像我们使用的所有库一样&#xff0c;我们有可能以错误的方式或至少以非最佳方式使用它。 在本教程中&#xff0c;我们将列出常见的日志记录错误以及如何使用FindBugs检测到它们。 我们还将在相关时提及PMD和S…

linux逐行扫描,FFmpeg怎么区分识别视频是逐行扫描还是隔行扫描

最近遇到要识别隔行扫描的视频加以特殊转码处理的问题。google了一番以后找到两个解决的方式&#xff0c;记录一下。方法一&#xff1a;使用隔行扫描检查滤镜idet区分隔行扫描和逐行扫描ffmpeg -filter:v idet \ -frames:v 100 \ -an \ -f rawvideo -y /dev/null \ -i 351.mp4 …

JDBC学习笔记 day1

JDBC的基本概念&#xff1a; JDBC就是java database connectivity&#xff0c;即java数据库连接。 JDBC主要完成的几个任务分别为 与数据库建立一个连接  向数据库发送SQL语句  处理数据库返回的结果JDBC的作用&#xff1a; 将java程序语言编写出来的程序&#xff0c;与数据…

稀疏矩阵的转置c语言程序,程序有问题求大神,稀疏矩阵转置

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #define N 100typedef int DataType;typedef struct{int i,j;DataType v;}TriTupleNode;typedef struct{TriTupleNode data[N];int m,n;int t;}TriTupleTable;void TransMatrix(TriTupleTable *b,TriTupleTable *a);void …

jsf组件不显示_JSF组件库–质量不只是零缺陷

jsf组件不显示自从我上次查看三个主要JSF组件库的质量以来已经有一段时间了。 在2009年12月&#xff0c;我开始比较RichFaces&#xff0c;Primefaces和ICEfaces的整体软件质量 。 从那时起&#xff0c;事情发生了变化&#xff0c;从现在开始&#xff0c;我想重新评估和更新它。…

linux安装mysql(shell一键安装)

1. 相关文件&#xff08;install_mysql.sh、my.cnf、mysqld相关内容在文中最后面&#xff09; 2. 将上面的文件上传到linux服务器某一目录下 3.给install_mysql.sh赋执行权限 # chmod x instll_mysql.sj 4. 执行install_mysql.sh # ./install_mysql.sh 5. 验证 6. install_mysq…

c语言编译时检查逻辑错误吗,C语言陷阱与技巧20节,自定义“编译时”assert方法,在代码编译阶段检查“逻辑”错误...

在C语言程序开发中&#xff0c;程序员写代码时应该考虑的“面面俱到”&#xff0c;这样才能写出功能稳定的程序。例如&#xff0c;在实现 open() 函数时&#xff0c;先完成它的功能固然是重要的&#xff0c;但是程序员还需要考虑各种“意外”&#xff0c;比如下面这种情况。假设…

springboot 多个sevice类实现同一接口的调用

参考页面&#xff1a;http://blog.csdn.net/xiao190128/article/details/54890759/&#xff1b;感谢分享 service 是有用的相当于 xml配置中得bean id service 也可以不指定 不指定相当于 bean id com. service.service 就是这个类的全限定名,表示给当前类命名一个别名&a…

影场与属性访问器界面

卡尔迪亚&#xff08;Carl Dea&#xff09;最近跟踪了我的一篇名为“ 保存内存”的博客文章&#xff01; 为属性使用阴影字段 。 在他的博客中&#xff0c;他建议使用一个称为“属性访问器”的接口来消除使用阴影字段所需的大量样板代码。 卡尔还提到他尚未用大量数据测试他的方…