jqGrid的方法,从3.6开始已经完全兼容jQuery UI库。
jQuery("#grid_id").jqGridMethod( parameter1,...parameterN ); jQuery("#grid_id").setGridParam({...}).hideCol("somecol").trigger("reloadGrid");
如果使用新的API:
jQuery("#grid_id").jqGrid('method', parameter1,...parameterN ); jQuery("#grid_id").jqGrid('setGridParam',{...}).jqGrid('hideCol',"somecol").trigger("reloadGrid");
jqGrid配置使用新的api
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My First Grid</title> <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script type="text/javascript"> jQuery.jgrid.no_legacy_api = true; </script> <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> </head> <body> ... </body> </html>
jqGrid方法
方法名 |
参数 |
返回值 |
说明 |
addJSONData |
data |
none |
使用传来的 data 数据填充表格。 使用方法: var mygrid = jQuery(”#”+grid_id)[0]; var myjsongrid = eval(”(”+jsonresponse.responseText+”)”); mygrid.addJSONData(myjsongrid); myjsongrid = null; jsonresponse =null; |
addRowData |
rowid,data, position, srcrowid |
成功为 true, 否则为 false |
根据参数插入一行新的数据, rowid 为新行的 id , data 为新行的数据, position 为新增行的位置, srcrowid 为新增行的参考位置。 data 数据格式: {name1:value1,name2: value2…} name 为在 colModel 中指定的名 称 |
addXMLData |
data |
none |
根据传来的数据填充表格。 用法: var mygrid = jQuery(”#”+grid_id)[0]; mygrid.addXmlData (xmlresponse.responseXML); |
clearGridData |
clearfooter |
jqGrid 对 象 |
清除表格当前加载的数据。 如果 clearfooter 为 true 时 则此方法删除表格最后一行的数 据 |
delRowData |
rowid |
成功为 true 否则为 false |
根据 rowid 删除行,但不会从服务器端删除数 据 |
footerData |
action,data, format |
jgGrid 对 象 |
设置或者取得底部数据。 action : “get” 或者 “set” ,默认为 “get” , 如果为 “get” 返回值为 name:value , name 为 colModel 中名称。 如果为 “set” 则值为 name : value , name 是 colModel 中的名称。 format :默认为 true ,当为 true 时, 在设置新值时会调用 formatter 格式化数 值 |
getCell |
rowid, iCol |
单元格内 容 |
返回指定 rowid , iCol 的单元格内容, iCol 既可以是当前列在 colModel 中的位置索引 也可以是 name 值。 注意:在编辑行或者单元格时不能使用此方法, 此时返回的并不是改变的值,而是原始 值 |
getCol |
colname, returntype, mathoperation |
array[] 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' |
getDataIDs |
none |
array[] |
返回当前 grid 里所有数据的 id |
getGridParam |
name |
mixed value |
返回请求的参数信 息 |
getInd |
rowid,rowcontent |
mixed |
如果 rowcontent 为 false , 返回行所在的索引位置, id 为行 id 。 rowcontent 默认为 false 。 如果 rowconent 为 ture 则返回的为行对象, 如果找不到行则返回 false |
getRowData |
rowid or none |
array[] |
返回指定行的数据,返回数据类型为 name:value , name 为 colModel 中的名称, value 为所在行的列的值,如果根据 rowid 找不 到则返回空。 在编辑模式下不能用此方法来获取数据,它得到的 并不是编辑后的 值 |
hideCol |
colnameor[colnames] |
jqGrid 对 象 |
如果参数为一个列名则隐藏此列, 如果给定的是数组则隐藏指定的所有列。 格式: [“name1”,”name2”] |
remapColumns |
permutation, updateCells, keepHeader |
none |
调整表格列的显示顺序 , permutation 为当前列的顺序, 假如值是 [1,0,2] ,那么第一列就会在第二位显示。 如果 updateCells 为 ture 则是对单元格数据 进行重新排序, 如果 keepHeader 为 true 则对 header 数据显示位置进行调 整 |
resetSelection |
none |
jqGrid 对 象 |
选择或者反选行数据,在多选模式下也同样起作 用 |
setCaption |
caption |
jqGrid 对 象 |
设置表格的标 题 |
setCell |
rowid,colname, data, class, properties |
jqGrid 对 象 |
改变单元格的值。 rowid :当前行 id ; colname :列名称,也可以是列的位置索引, 从 0 开始; data :改变单元格的内容,如果为空则不更 新; class :如果是 string 则会使用 addClass 方法 将其加入到单元格的 css 中,如果是 array 则会直接加到 style 属性 中; properties :设置单元格属 性 |
setGridParam |
object |
jqGrid 对 象 |
设置 grid 的参数。 有些参数的修改必须要重新加载 grid 才可以生效, 这个方法可以覆盖事 件 |
setGridHeight |
new_height |
jqGrid 对 象 |
动态改变 grid 的高度, 只能对单元格的高度进行设置而不能对表格的 高度进行动态修改。 new_height :可以是象素值,百分比或者 "auto" |
setGridWidth |
new_width,shrink |
jqGrid 对 象 |
动态改变表格的宽度。 new_width: 表格宽度,象素值; shrink : true 或者 false ,作用同 shrinkToFit |
setLabel |
colname, data, class, properties |
jqGrid 对 象 |
给指定列设置一个新的显示名称。 colname :列名称,也可以是列的位置索引, 从 0 开始; data :列显示名称,如果为空则不修改; class :如果是 string 则会使用 addClass 方法 将其加入到单元格的 css 中, 如果是 array 则会直接加到 style 属性中; properties :设置 label 的属 性 |
setRowData |
rowid,data, cssprop |
成功 true 否则 false |
更新行的值, rowid 为行 id 。 data 值格式: {name1:value1,name2: value2…} name 为 colModel 中名称; cssprop :如果是 string 则会使用 addClass 方法将其加入到行的 css 中, 如果是 array 或者对象 则会直接加到 style 属性 中 |
setSelection |
rowid,onselectrow |
jqGrid 对 象 |
选择或反选指定行。 如果 onselectrow 为 ture 则会触发事件 onSelectRow , onselectrow 默认为 ture |
showCol |
colname |
jqGrid |
显示列。 colname 可以是数组 [“name1”,”name2”], 但是 name1 或者 name2 必须是 colModel 中的 name |
trigger(“reloadGrid”) |
none |
jqGrid 对 象 |
重新加载当前表格,也会向服务器发起新的请 求 |
updateColumns |
none |
none |
同步表格的宽度,用在表格拖拽时, 用法: 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 的参 数 |
jqID |
string |
解析后的 string |
转义字符串,把两个反斜杠 (\\) 转化为单个反斜杠 (\) |
jgrid.htmlDecode |
string |
转换后 string |
把转码后的字符串还 原 |
jgrid.htmlEncode |
string |
编码后的 string |
把字符串编 码 |
jgrid.format |
string |
格式化后 string |
简单字符串模板。 用法: jQuery.jqgformat(“Please enter a value between {0}and {1}.”,4, result : “Please enter a value between 4 and 8.” |
jgrid.getCellIndex |
cell |
index |
这个方法是用来修复在 ie7 里的一个 bug |
jgrid.stringToDoc |
xmlstring |
xmlDoc |
把 xmlstring 转换为 dom 对 象 |
jgrid.stripHtml |
content |
new_content |
去掉 html 标签返回标签中内 容 |
jgrid.parse |
jsonstring |
对 象 |
把一个 jsonstring 转换为 json 对 象 |
jqGrid的方法
方法名 |
参数 |
返回值 |
说明 |
filterGrid |
grid_id,params |
HTML 对 象 |
构造 jqGrid 的查询界面。 grid_id: 表格 id ; params :参 数 |
filterToolbar |
params |
jqGrid 对 象 |
同上。 不同的是搜索输入框在 header 层下 方 |
getColProp |
colname |
array |
返回指定列的属性集合。 name 为 colModel 中名 称 |
GridDestroy |
grid_id |
boolean |
从 dom 上删除此 grid |
GridUnload |
grid_id |
boolean |
跟 GridDestroy 不同的是 table 对象 跟 pager 对象并不会被删除,以便下次使 用 |
setGridState |
state |
jqGrid 对 象 |
设置 grid 的状态,显示或者隐藏。这个方法不会触发 onHeaderClick 事件 。 |
setColProp |
colname, properties |
jqGrid 对 象 |
设置新的属性, 对于动态改变列属性是非常有用的, 但是有些属性的修改并不会起效。 用法: jQuery(”#grid_id”) .setColProp('colname', {editoptions:{value:“True:False”}}); |
sortGrid |
colname, reload |
jqGrid 对 象 |
按指定列进行排序。 效果同 setGridParam({sortname:'myname'}) .trigger('reloadGrid'). 如果 reload 为 true 则会重新加载数 据 |
updateGridRows |
data,rowidname,jsonreader |
boolean |
修改表格中某行的数据, data 数据格式: [{name:value,name1:value1…}, {name:value,name2:value2…}] , name 为 colModel 中的名称; rowidname 某行的名称。 jsonreader : boolean 值, 默认 false 。
如果为 true 则是定义数据的格式, data 的值并不是 name : value 形式而只是 value |