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 —xml数据
xmlstring—xml字符串
json—JSON数据
jsonstring—JSON字符串
local—客户端数据(数组)
javascript—javascript数据
function—函数返回数据
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时才显示。
此文字中{}中的内容表示:
{0} 该页显示的第一个记录的记录号
{1} 该页显示的最后一个记录的记录号
{2} 获得的记录总数
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,并且设置了列宽度,则每列的宽度根据定义宽度缩放。
若为false,并且设置了列宽度,表格宽度为设置宽度,列宽度不会重新计算,使用colModel中定义的值
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]。
第一个参数设定是否显示所有定义了排序的列旁显示图标。缺省的false表示只有当前排序列旁的图标显示。设为true可使所有可排序列都显示图标。
第二个参数设定排序图标如何放置。vertical为垂直放置,horizontal为水平放置。
第三个参数设定点击功能。True表示表头点击排序,false表示只点击排序图标排序。若将此参数设为false时,请确保第一个参数为true,否则将无法排序。
width
number
若为设置,表格的宽度为colModel 中定义的所有列宽度的总和。若设置了该项,每列的初始宽度按照shrinkToFit 设置的值
none
xmlReader
array
描述预期的XML数据结构的数组。
ColModel API
colModel属性以数组的形式定义各个表格列。这是jqGrid中很重要的部分。语法为:
jQuery("#gridid").jqGrid({ ... colModel: [ {name:'name1', index:'index1'...}, {...}, ... ], ... });
下面给大家介绍jqGrid提供的事件列表。
事件
参数
描述
afterInsertRow
rowid
rowdata
rowelem
此事件发生在每次插入行后
rowid 为插入的行ID
rowdata 是被插入行的数据数组。格式为name:value对,name在colModel定义
rowelem 是应答元素。xml为xml行,json为所有行数据。
注意:若gridview 为true,此事件不会发生
beforeRequest
none
此事件发生在任何数据请求前,但当datatype为function时不发生。
beforeSelectRow
rowid, e
此事件发生在用户点击行,选中该行前。
rowid 为行的ID,e为事件对象
该事件将返回布尔值true(行被选中)或false(行未被选中)。
gridComplete
none
此事件发生在表格所有数据装入和进程完成后。与datatype参数及排序分页等无关。
loadBeforeSend
xhr,
settings
此事件发生在XMLHttpRequest被发送前,用于修改对象属性(如headers)。 xhr 为XMLHttpRequest对象。
loadComplete
data
此事件发生在每个服务器请求后。xhr 为XMLHttpRequest对象。
loadError
xhr,
status,
error
此事件在请求失败时发生。事件有3个参数:
xhr 为XMLHttpRequest对象;
Satus 为错误类型描述;error 为错误对象。
onCellSelect
rowid,
iCol,
cellcontent,
e
此事件在点击表格特定单元格时发生。
rowid 为行ID;iCol 为列索引;
cellcontent 为单元格中内容;
e 点击事件对象。
ondblClickRow
rowid,
iRow,
iCol,
e
此事件发生在行双击后发生。
rowid为行ID;iRow 为行索引(勿与rowid混淆);
iCol为列索引;
e 为事件对象。
onHeaderClick
gridstate
此事件发生在点击显示或隐藏表格后发生(hidegrid为true) gridstate为表格状态,有visible和hidden两个值
onPaging
pgButton
此事件发生在点击page button后,填充数据前,及用户输入一个与当前页页码不同的新页码并回车时。
onRightClickRow
rowid,
iRow,
iCol,
e
此事件发生在右击行后。(此事件在Opera浏览器中无效)
rowid为行ID;iRow为行索引(勿与rowid混淆)
iCol为列索引;
e为事件对象
onSelectAll
aRowids,
status
此事件发生在点击标题的复选框时发生(multiselect为true)
aRowids 选定行ID的数组(哪些行的复选框与头复选框相同)
status 头复选框的选定的布尔值,true为选中,false为
onSelectRow
rowid,
status
此事件发生在行点击后
rowid 为行ID;
status 为选择状态。当multiselect为true时使用,当行被选中时返回true;为选中时返回false。
onSortCol
index,
iCol,
sortorder
此事件发生在列排序被点击之后,数据排序前
index 为colModel 中定义的索引名iCol 为列的索引号
sortorder 为新的排序方式,asc或desc
resizeStart
event, index
此事件发生在列被重新定义宽度时。 event 为事件对象;index 为在colModel 中定义的列索引。
resizeStop
newwidth, index
此事件发生在列被重新定义宽度后。
newwidth 为新的列宽度;index 为在colModel 中定义的列索引。
serializeGridData
postData
通过此事件可以序列化传递给ajax请求的的数据。此事件将返回一个以序列化的数据。若有自定义的数据(如JSON字符串、XML字符串)要发给服务器时,可使用该事件。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。