jqGrid的重要选项详解
在jqGrid控件的使用中,有几个选项比较常用,下面将对这些选项进行详细介绍。
常用选项介绍
url
jqGrid控件通过url参数获取需要显示的数据,其返回值可以是XML格式,也可以是JSON格式。
datatype
该参数用于设定将要获取的数据类型。常见的数据类型包括json(这是我最常用的类型)、xml、xmlstring、local、javascript和function。
mtype
定义发起请求所使用的方法,可选择GET或者POST。
height
用于设置Grid的高度,它可以接受数字、百分比值或者auto,默认值为150。
width
设置Grid的宽度。如果未设置该值,Grid的宽度将为所有列宽之和;如果设置了宽度,每列的宽度将会根据shrinkToFit选项的设置进行调整。
shrinkToFit
此选项用于根据width计算每列宽度的算法,默认值为true。当shrinkToFit为true且设置了width值时,每列宽度会根据width成比例缩放;当shrinkToFit为false且设置了width值时,每列的宽度不会成比例缩放,而是保持原有设置,此时Grid将会出现水平滚动条。
autowidth
默认值为false。如果设置为true,Grid的宽度会根据父容器的宽度自动重新计算。不过,这种重新计算仅发生在Grid初始化阶段;如果父容器尺寸发生变化,同时需要改变Grid的尺寸,则需要在代码中调用setGridWidth方法来实现。
pager
用于定义页码控制条(Page Bar)。
sortname
指定默认的排序列,可以是列名,也可以是数字。该参数会被传递到Server端。
viewrecords
设置是否在Pager Bar显示所有记录的总数。
caption
设置Grid表格的标题。如果未设置该值,标题区域将不显示;如果设置了,则标题将显示在Grid的Header层。
rowNum
用于设置Grid中一次显示的行数,默认值为20。该选项会将参数rows(在prmNames中设置)通过url选项设置的链接传递到Server。需要注意的是,如果Server返回的数据行数超过了rowNum的设定,Grid也只会显示rowNum设定的行数。
rowList
这是一个数组,用于设置Grid可以接受的rowNum值,例如[10, 20, 30]。
colNames
字符串数组,用于指定各列的题头文本,与列的顺序相对应。
colModel
这是最重要的数组之一,用于设定各列的参数,稍后会详细介绍。
prmNames
这是一个数组,用于设置jqGrid将要向Server传递的参数名称,稍后会详细介绍。
jsonReader
同样是一个数组,用来设定如何解析从Server端发回来的JSON数据,稍后会详细介绍。
prmNames选项
prmNames是jqGrid的一个重要选项,用于设置jqGrid将要向Server传递的参数名称。其默认值如下:
prmNames: {
page: "page", // 表示请求页码的参数名称
rows: "rows", // 表示请求行数的参数名称
sort: "sidx", // 表示用于排序的列名的参数名称
order: "sord", // 表示采用的排序方式的参数名称
search: "_search", // 表示是否是搜索请求的参数名称
nd: "nd", // 表示已经发送请求的次数的参数名称
id: "id", // 表示当在编辑数据模块中发送数据时,使用的id的名称
oper: "oper", // operation参数名称(暂时还未使用到)
editoper: "edit", // 当在edit模式中提交数据时,操作的名称
addoper: "add", // 当在add模式中提交数据时,操作的名称
deloper: "del", // 当在delete模式中提交数据时,操作的名称
subgridid: "id", // 当点击以载入数据到子表时,传递的数据名称
npage: null,
totalrows: "totalrows" // 表示需从Server得到总共多少行数据的参数名称,参见jqGrid选项中的rowTotal
}