jqGrid中文文档之选项设置

2019-12-17,

jqGrid提供了大量的选项设置,开发者可以通过设置选项对应值来控制jqGrid,比如表格的宽度、高度、数据类型以及列名称等等都是通过选项设置来完成的。jqGrid的选项一般是名称:值(name:value)的形式,也可以是对象(object)及数组(array)的形式配置。

jqGrid选项(Option)

调用jqGrid只需要执行以下代码:

jQuery("#grid_id").jqGrid(options);

options即jqGrid的选项设置,请参照以下表格。

属性 类型 描述 默认值
ajaxGridOptions object 此项用于设置当表格设置获得数据时,ajax的全局属性,注意此项可能覆盖所有当前的ajax设置(包括error, complete和beforeSend 事件)。 empty
ajaxSelectOptions object 此项用于设置在editoptions或searchoptions对象中通过dataUrl选择元素时, ajax的全局属性。 empty
altclass string 交替行的类。 此项仅当altRows设置为true时有效。 ui-priority-secondary
altRows boolean 设置为交替行表格 false
autoencode boolean 当设置为true时,对来自服务器的数据和提交数据进行encodes编码。如< 将被转换为< false
autowidth boolean 当设置为true时,表格宽度将自动匹配到父元素的宽度。这个匹配只在表格建立时进行,为了使表格在父元素宽度变化时也随之变化,可以使用setGridWidth方法 false
caption string 表格的标题。显示在Header上。若为空时将不会显示。 empty
cellLayout integer 该属性确定单元格的padding + border 宽度。通常不修改该属性,但若表格的CSS中改变了td元素,该属性需要修改。 缺省值5表示paddingLef(2) + paddingRight(2) + borderLeft(1)=5 5
cellEdit boolean 是否允许单元格编辑。 false
cellsubmit string 确定单元格内容保存方式是remote还是clientArray 。 'remote'
cellurl string 单元格保存的url。 null
colModel array 描述列参数数组。这是表格最重要的部分,详见colModel API. null
colNames array[] 列名称数组。该名称将在Header中显示。名称以逗号分隔,数量应与colModel 数组数量相等 empty
data array 以数组的形式保存本地数据。 empty
datastr string 当datatype被设置为xmlstring或jsonstring时,为数据串。 null
datatype string 定义表格希望获得的数据的类型,有效值有:
xml
deselectAfterSort boolean 只适用于当datatype为local时。当一个排序被应用时取消当前选定行。 true
direction string 表格中的书写方向。“ltr”从左到右(缺省值),“rtl”从右到左 ltr
editurl string 定义行内编辑地址URL null
emptyrecords string 当返回(或当前)数量为零时显示的信息此项只用当viewrecords 设置为true时才有效。  
ExpandColClick boolean true时,点击展开行的文字,treeGrid展开或收拢 true
ExpandColumn string 指定用于张开treeGrid的列(名称来自colModel),未设置即用第一列。此项只有当treeGrid为true时有效. null
footerrow boolean 如果设置为true时,将生成一个表脚行,列数等于colModel false
forceFit boolean 如果设置为true,改变列宽,相邻列也将调整以适应整体表格,将不会出现水平滚动条。 false
gridstate string 表格的当前状态。有visible或hidden visible
gridview boolean 设置为true将提高5~10倍的显示速度。但不能再使用treeGrid, subGrid, 或afterInsertRow事件 false
grouping boolean 是否设置表格组 false
height mixed 表格高度。可为数值、百分比或auto 150
hiddengrid boolean 如果设置为true,表格开始被隐藏,数据不被载入,只显示标题。当第一次点击显示/隐藏按钮显示表格,数据从服务器载入。 false
hidegrid boolean 是否允许显示/隐藏按钮可用。只有标题不为空时可用。 true
hoverrows boolean 表行是否有鼠标悬停效果 true
jsonReader array JSON数据结构数组  
lastpage integer 请求返回的总页数 0
lastsort integer 排序的列号(0开始) 0
loadonce boolean 设置为true时,表格只一次读取服务器数据(使用适当datatype),之后,datatype 自动变为local ,所有进一步操作都在客户端完成,pager功能(若存在)将失效。 false
loadtext string 数据请求和排序时显示的文本 Loading…
loadui string 此项控制ajax进程进行时的动作。Disable—取消jqGrid的进程指示,可使用自定义的指示。 enable (缺省)—表格中间显示loading。 block – 显示“Loading”信息,禁用页面上的所有功能,直到数据装入完成。 enable
mtype string 定义提交类型POST或GET GET
multikey string 此属性只有当multiselect为true时有效,定义多选时的组合键,可选值有: shiftKey ,altKey,ctrlKey empty
multiboxonly boolean 此属性只有当multiselect为true时有效,. Multiboxonly设置为true时,只有点击checkbox时该行才被选中,点击其他列,将清除当前行的选中。 false
multiselect boolean 此属性设为true时启用多行选择,出现复选框 false
multiselectWidth integer 若multiselect 为true时,定义多选列的宽度。 20
page integer 设置请求初始页的数量,此参数通过URL从服务器接受数据 1
pager mixed 定义分页浏览导航条。必须是一个HTML元素,如<div id="page"></div> empty
pagerpos string 定义表格浏览导航条的位置,缺省情况下建立一个包括3部分的导航条:页码,导航按钮和记录信息。 center
pgbuttons boolean 定义导航激活时导航按钮是否显示。 true
pginput boolean 定义导航栏是否有页码输入框。 true
pgtext string 当前页信息。第一个量为当前页,第二个量为总页数。  
prmNames array 缺省情况下prmNames: { page:“page”,rows:“rows”, sort: “sidx”,order: “sord”, search:“_search”, nd:“nd”, npage:null} 以POST方式发送到服务器,字段为: page,rows,sidx,sord,search,nd 例如要将sidx改为mysort,可写成: prmNames: {sort: “mysort”}. 这样提交到服务器的字符串就变为: page=1&rows=10&mysort=myindex&sord=asc 若将一些参数设为null,这些参数将不再发往服务器。例如prmNames: { nd:null} 则nd参数将不被发送。 Npage参数参见scroll option. none
postData array 此数组能直接传递到url。这个数组可使用这种形式{name1:value1…}。 empty
reccount integer 只读属性。定义表格显示的行数。切勿与records混淆。 0
recordpos string 定义页中记录信息的位置,可以是left,center,right。 right
recordpos object 交替行的类 true
records integer 只读属性。定义从请求中获得的记录数 none
recordtext string 可在页面上显示的提示信息,此文字只在viewrecords 为true是有效,并且当记录总数大于0时才显示。
 
resizeclass string 列可变大小时的类 empty
rowList array[] 用于改变显示行数的下拉列表框的元素数组。 empty
rownumbers boolean 若此属性为true,表格左侧将添加一用于显示行数(从1开始)的列。此时colModel自动扩展出一个名为rn的元素。所以在colModel中不要定义rn。 false
rowNum integer 表格中可见的记录数。此参数通过url传递给服务器供检索数据用。注意:若此参数设置为10,而服务器返回15条记录,将只有10条记录被装入。若此参数被设置为-1,则此检查失效 20
rownumWidth integer 当rownumbers为true时,定义显示行数的列的宽度。 25
savedRow array 只读属性。用于行编辑和单元格编辑保存数据之前 empty
scroll boolean or integer 创建动态滚动表格。当设为启用时,pager被禁用,可使用垂直滚动条来装入数据。 false
scrollOffset integer 定义垂直滚动条的宽度。 18
scrollrows boolean 该项启用时,用setSelection 选定一行,表格将滚动到被选行可见。 false
selarrrow array-[] 只读属性。当multiselect 为true时,包含当前选定的行。此为一维数组,值为表格中选定行的ID。 empty
selrow string 只读属性。内容是最后选定行的ID。如火应用了排序或pagging,该值为null。 null
shrinkToFit boolean or integer 该项描述计算每列相对于表格宽度的初始宽度的类型。
true
sortable object 启用此项,允许使用鼠标重新排序列。 true
sortname string 从服务器读取XML或JSON数据时初始的排序名,此名被加到URL中。 empty
sortorder string 从服务器读取XML或JSON数据时初始的排序类型,此类型被加到URL中。可选值为asc或desc。 asc
subGrid boolean 设置为true,可使用子表格。启用子表格,将在基本表的左边将添加一列,并包含一个“+”图像,用户可以点击扩展行。 false
subGridModel array-[] 该属性用于描述子表格的模式,只有subGrid 为true时有效。它是一个用于描述子表格列的数组。 empty
subGridType mixed 用于定义子表格装入的数据类型,若不定义,则使用与父表格同样的数据类型。 null
subGridUrl string 该属性用于定义子表格获得数据的URL。行的ID将键入此URL中,若要添加其他参数,可使用subGridModel 中的选项。 empty
subGridWidth integer 定义子表格的列宽 20
toolbar array 该参数定义表格的工具栏。参数是一个包含两个值的数组,第一个值使工具栏有效,第二个值相对位置(可以是top、bottom、both)。例如:设置toolbar为 [true,”both”],将在表格的头部和底部建立两个工具栏,两个工具栏位两个DIV元素,头部DIV元素的ID为“t_表格ID”,底部DIV元素的ID为“tb_表格ID”。若只有一个工具栏(top或bottom)时,DIV的ID为“t_表格ID”。 [false,'']
toppager boolean 是否在表格上部显示分页条。 false
totaltime integer 只读参数。用于记录装入XML和JSON数据的时间。 0
treedatatype mixed 定义初始数据类型 null
treeGrid boolean 启用(禁用)TreeGrid。 false
treeGridModel string 定义TreeGrid的方法。可以是nested或adjacency。 nested
treeIcons array 此数组设置TreeGrid中使用的图标。图标应是UI theme中的有效图标。缺省为 {plus:'ui-icon-triangle-1-e',minus:'ui-icon-triangle-1-s',leaf:'ui-icon-radio-off'}  
treeReader array 扩展表格的colModel。这里定义的字段将添加到colModel的尾部并隐藏。服务器将返回这些字段的值。  
tree_root_level numeric 确定treeGrid相对于根元素的级别。 0
url string 请求数据的url地址 null
userData array 此数组保存请求的自定义信息,可随时使用 empty
userDataOnFooter boolean 到为true时, userData直接放置在页脚。 false
viewrecords boolean 是否在浏览导航栏显示记录总数 false
viewsortcols array 定义表头中排序图标的外观和行为。缺省为[false,'vertical',true]。
 
width number 若为设置,表格的宽度为colModel 中定义的所有列宽度的总和。若设置了该项,每列的初始宽度按照shrinkToFit 设置的值 none
xmlReader array 描述预期的XML数据结构的数组。

ColModel API

colModel属性以数组的形式定义各个表格列。这是jqGrid中很重要的部分。语法为:

jQuery("#gridid").jqGrid({ 
... 
  colModel: [ {name:'name1', index:'index1'...}, {...}, ... ], 
... 
}); 

下面给大家介绍jqGrid提供的事件列表。

事件 参数 描述
afterInsertRow rowid 
此事件发生在每次插入行后
rowid 为插入的行ID
rowdata 是被插入行的数据数组。格式为name:value对,name在colModel定义
rowelem 是应答元素。xml为xml行,json为所有行数据。
beforeRequest none 此事件发生在任何数据请求前,但当datatype为function时不发生。
beforeSelectRow rowid, e 此事件发生在用户点击行,选中该行前。
rowid 为行的ID,e为事件对象
gridComplete none 此事件发生在表格所有数据装入和进程完成后。与datatype参数及排序分页等无关。
loadBeforeSend xhr,
此事件发生在XMLHttpRequest被发送前,用于修改对象属性(如headers)。 xhr 为XMLHttpRequest对象。
loadComplete data 此事件发生在每个服务器请求后。xhr 为XMLHttpRequest对象。
loadError xhr,
此事件在请求失败时发生。事件有3个参数:
xhr 为XMLHttpRequest对象;
Satus 为错误类型描述;error 为错误对象。
onCellSelect rowid,
此事件在点击表格特定单元格时发生。
rowid 为行ID;iCol 为列索引;
cellcontent 为单元格中内容;
e 点击事件对象。
ondblClickRow rowid, 
此事件发生在行双击后发生。
rowid为行ID;iRow 为行索引(勿与rowid混淆);
iCol为列索引;
e 为事件对象。
onHeaderClick gridstate 此事件发生在点击显示或隐藏表格后发生(hidegrid为true) gridstate为表格状态,有visible和hidden两个值
onPaging pgButton 此事件发生在点击page button后,填充数据前,及用户输入一个与当前页页码不同的新页码并回车时。
onRightClickRow rowid, 
此事件发生在右击行后。(此事件在Opera浏览器中无效)
rowid为行ID;iRow为行索引(勿与rowid混淆)
iCol为列索引;
e为事件对象
onSelectAll aRowids,
此事件发生在点击标题的复选框时发生(multiselect为true)
aRowids 选定行ID的数组(哪些行的复选框与头复选框相同)
status 头复选框的选定的布尔值,true为选中,false为
onSelectRow rowid,
此事件发生在行点击后
rowid 为行ID;
status  为选择状态。当multiselect为true时使用,当行被选中时返回true;为选中时返回false。
onSortCol index,
此事件发生在列排序被点击之后,数据排序前
index 为colModel 中定义的索引名iCol 为列的索引号
sortorder 为新的排序方式,asc或desc
resizeStart event, index 此事件发生在列被重新定义宽度时。 event 为事件对象;index 为在colModel 中定义的列索引。
resizeStop newwidth, index 此事件发生在列被重新定义宽度后。
newwidth 为新的列宽度;index 为在colModel 中定义的列索引。
serializeGridData postData 通过此事件可以序列化传递给ajax请求的的数据。此事件将返回一个以序列化的数据。若有自定义的数据(如JSON字符串、XML字符串)要发给服务器时,可使用该事件。

您可能感兴趣的文章:

  • JQGrid的用法解析(列编辑,添加行,删除行)
  • jqgrid 编辑添加功能详细解析
  • Jqgrid设置全选(选择)及获取选择行的值示例代码
  • jqGrid随窗口大小变化自适应大小的示例代码
  • jqGrid读取选择的多行的某个属性代码
  • 通过点击jqgrid表格弹出需要的表格数据
  • jqGrid表格应用之新增与删除数据附源码下载
  • Jqgrid之强大的表格插件应用
  • 基于PHP和Mysql相结合使用jqGrid读取数据并显示
  • jqGrid 学习笔记整理——进阶篇(一 )
  • Java中jqGrid 学习笔记整理——进阶篇(二)
  • Bootstrap嵌入jqGrid,使你的table牛逼起来
  • jqGrid用法汇总(全经典)

《jqGrid中文文档之选项设置.doc》

下载本文的Word格式文档,以方便收藏与打印。