chongxiaocheng 2011-07-05
from:http://my.oschina.net/yonge/blog/1948
jqGrid的属性很多,其实很大部分的属性,使用其默认值就可以了。但是详细了解一下属性的含义以及作用,对我们定制自己的grid是有帮助的。
以下内容描述格式是:
*属性名称
参数值类型
描述内容(可能有多行)
默认值
是否可修改(表示grid创建完成之后,该属性是否能够被修改。也就是说,是否grid的初始化的属性值能够被修改)
————详细属性列表————
*ajaxGridOptions
object
本选项用来设置全局的Ajax设置。注意:这个选项会覆盖当前所有的ajax设置,包括ajax的error、complete以及beforeSend事件。
默认值:emptyobject
该属性可以修改
*ajaxSelectOptions
object
本选项用来设置select元素的ajax全局设置。在searchoptions选项或者editoptions选项属性设置中,可以通过设置dataUrl来获取生成一个select的下拉框内容的URL。jqGrid通过ajax的方式访问这个URL来自动获取可选择值。
注意:这里要求通过dataUrl返回的结果是形如<select><optionvalue=”1”>One</option><optionvalue=”2”>Two</option></select>这种格式的字符串。当然,其实也可以直接返回1:One;2:Two这种格式的数据,但是要通过另外一个选项进行处理,处理之后还是要变成上面的字符串。比如searchOptions中,就有一个属性是buildSelect,就是用来干这事儿的。
默认值:emptyobject
该属性可以修改
*altclass
string
用来设置jqGrid的交替行的class。只有设置了altRows为true才有效。
默认值:ui-priority-secondary
该属性可以修改.Requiresreload
*altRows
boolean
设置jqGrid显示为斑马线样式。就是隔行用不同的背景色区分开。
默认值:false
该属性可以修改.Afterreload
*autoencode
boolean
设置为true,会对从服务器返回的数据以及编辑模式下提交的数据进行HTML编码。比如,把小于符号转换成<
默认值:false
该属性可以修改
*autowidth
boolean
设置为true,grid的宽度会根据父元素的宽度自动重新计算。注意,这个值是在初始化的时候设定好了,如果要在运行中设置宽度,需要通过setGridWidth方法来修改。
默认值:false
该属性不能修改
*caption
string
设置Grid的标题.
默认值:emptystring
该属性不能修改.Methodavail.
*cellLayout
integer
本选项设置单元格的padding+border宽度.一般情况下不要去修改。
默认值:5
该属性不能修改
*cellEdit
boolean
设置CellEditing模式是否启用。
默认值:false
该属性可以修改
*cellsubmit
string
确定CellEditing模式下,内容保存到远程服务器还是本地数组。'remote'或者'clientArray'。
默认值:'remote'
该属性可以修改
*cellurl
string
确定CellEditing模式下,访问的URL。
默认值:null
该属性可以修改
*colModel
array
重要的属性。用来设置列名称。
默认值:emptyarray
该属性不能修改
*colNames
array[]
重要的属性。用来设置Grid每一个列的属性,一个列作为一个数组元素设置。Name属性是必须的。
注意:这里的数组长度(也就是列数)必须和colModel数组的长度一致。更详细的内容,需要单独说明。
默认值:emptyarray[]
该属性不能修改
*datastr
string
如果datatype属性设置为xmlstring或者jsonstring的情况下,本属性用来设置其值。
默认值:null
该属性可以修改
*datatype
string
确定grid中显示的数据源格式。
xml–xml数据;
xmlstring–被当做字符串的xml数据;
json–JSON格式数据;
jsonstring–被当做字符串的JSON数据;
local–定义在客户端的数组数据;
javascript–javascript的数据
function–客户定义函数用来获取数据;
默认值:xml
该属性可以修改
*deselectAfterSort
boolean
只有当datatype设置为local才有效。当排序之后,是否重新选择排序之前选中的行(多行)。
默认值:true
该属性可以修改
*direction
string
确定grid中文本显示的方向。默认ltr表示从左道右。还有一个可选值是rtl表示从右到左。
本选项只在FireFox3.x和IE>=6的浏览器有效。当前Safai和GoogleChrome、Opera不完全支持“rtl”。FireFox默认设置是不支持RTL的,但是可以通过修改FireFox的layout.scrollbar.side设置为1来支持。本属性是在jqGridv3.6版本中新增加的。
默认值:ltr
该属性不能修改
*editurl
string
设置编辑的URL地址。
默认值:null
该属性可以修改
*emptyrecords
string
设置当查询记录条数是0的情况下,jqGrid上显示的信息。只有当viewrecords选项设置为true才有效。
默认值:seelangfile
该属性可以修改
*ExpandColClick
boolean
设置为true,当我们点击treeGrid的文本时候,会展开或者收缩内容
默认值:true
该属性不能修改
*ExpandColumn
string
制定到底那一列(colModel的name名称来指定)用来展开树形grid.如果没有设置,默认是第一列。只有当treeGrid选项设置为true才有效。
默认值:null
该属性不能修改
*footerrow
boolean
如果设置为true,则会在grid的底部,导航条之上显示一个只有一行的table。列的数量和colModel定义的数量一致。
默认值:false
该属性不能修改
*forceFit
boolean
如果设置为true,并且用户改变了列宽度,那么右边临近的列宽度会自动调整以适应grid的整体宽度。这种情况下,是没有水平滚动条的。
注意:本选项与shrinkToFit选项不相容。如果shrinkToFit设置为false,那么forceFit的设置将被忽略。
默认值:false
该属性不能修改
*gridstate
string
设置grid的状态。有两个可选值'visible'和'hidden'
默认值:visible
该属性不能修改
*gridview
boolean
在包括jqGridv3.4.X之前的版本中,读取大数据集会存在速度问题。主要原因就是每一个单元格都是用了5-6条jQuery调用被插入到grid中。现在我们可以通过设置gridview选项为true来解决这个问题。这时候,我们用一个jQuery追加一次插入整行的数据。比以前快了3-5倍。
当然,使用也有限制,设置为true之后,不能使用treeGrid,subGrid或者afterInsertRow事件。
默认值:false
该属性可以修改
*height
mixed
Grid的高度设置。如果设置为’100%’那么高度可以自适应。不过要注意,假设我们设置每页显示的条数是50条记录,设置height=’100%’,可能后面的一些记录显示不出来。默认情况下,grid是没有垂直滚动条的。
默认值:150
该属性不能修改.Methodavail.
*hiddengrid
boolean
设置为true,grid初始显示是隐藏的。隐藏情况下,数据没有加载(没有向服务器的请求),只显示标题。当grid第一次显示的时候,才提交服务器请求并显示数据。
默认值:false
该属性不能修改
*hidegrid
boolean
设置grid的隐藏/显示按钮是否可用。
默认值:true
该属性不能修改
*hoverrows
boolean
设置为false,在grid的数据行中鼠标悬浮被禁用。
默认值:false
该属性可以修改
*jsonReader
array
定义json数据的格式描述信息。我们默认期望的数据格式是:默认的数据根节点名称是rows,当前页的名称是page……。假设我们服务器返回的数据,root的名称不是rows而是datas,page的名称不是page而是currentPage,那么可以如下重新定义jsonReader来读取数据:
jsonReader:{
root:”datas”,
page:”currentPage”
}
默认值:无
该属性不能修改
*lastpage
integer
只读属性,指定请求总共可以返回多少页。
默认值:0
该属性不能修改
*lastsort
integer
只读属性。指定了最后排序列。从0开始计数。
默认值:0
该属性不能修改
*loadonce
boolean
如果设置为true,grid只从服务器加载一次数据。加载数据完成之后,datatype就被指定为local,并且以后所有的操作都是基于客户端的操作,同时,导航功能也会被禁用。
默认值:false
该属性不能修改
*loadtext
string
请求或者排序数据的时候,显示在页面上的等待信息内容。
默认值:Loading…
该属性不能修改
*loadui
string
本选项控制在一个ajax请求执行过程中做什么。
disable–jqGrid的指示信息不可用。
enable-显示“Loading”信息。
block–可以显示“Loading”信息,同时阻止grid的所有操作直到ajax请求完成。注意,这会禁止所有的排序、导航或者任何工具条的操作。
默认值:enable
该属性可以修改
*mtype
string
确定请求方式。“POST”或“GET”
默认值:GET
该属性可以修改
*multikey
string
只有当multiselect选项设置为true的时候才有意义。定义使用哪一个键来做多选。可选值:shiftKey/altKey/ctrlKey
默认值:emptystring
该属性可以修改
*multiboxonly
boolean
只有当multiselect=true时起作用,如果multiselect设置为true,那么点击行任何位置都可以选中行。当multiboxonly设置为ture之后,就只有点击行前面的checkbox才会选中行。如果点击其它没有被选中的行,那么点中的行被选择,其它行取消选择。(Yahoo模式)
默认值:false
该属性可以修改
*multiselect
boolean
定义grid中的数据行是否可以被多选。会在grid的最左边增加一列checkbox的选择框。
默认值:false
该属性不能修改.seeHOWTO
*multiselectWidth
integer
当multiselect为true时设置multiselect列宽度
默认值:20
该属性不能修改
*page
integer
设置初始的页码。这个参数会被自动添加到URL后面,传递到后台服务器处理程序中。
默认值:1
该属性可以修改
*pager
mixed
指定导航条对象,这里要使用jQuery的语法来指定一个实际存在的html元素对象。大部分情况下,都是指定一个div对象的ID。
有几种方式指定:(假设div的id=nav)
jQuery(‘#nav’)
‘#nav’(推荐用这种方式调用)
‘nav’
默认值:emptystring.Currentlyonlyonepagebarispossible.
该属性不能修改
*pagerpos
string
确定pager在grid中的位置。默认情况下,pager被分成三个部分。一部分用来显示pager,一部分用作导航条按钮,一部分用来显示记录信息。
默认值:center
该属性不能修改
*pgbuttons
boolean
确定是否显示pager的按钮。
默认值:true
该属性不能修改
*pginput
boolean
确定是否显示允许用户直接输入页码进行跳转的输入框。
默认值:true
该属性不能修改
*pgtext
string
显示关于当前页状态的信息。第一个参数是当前页码,第二个参数是总共的页数。
默认值:Seelangfile
该属性可以修改
*prmNames
array
定制传递到服务器上的Post数据的字段名称。默认值是:
prmNames:{page:“page”,rows:“rows”,sort:“sidx”,order:“sord”,search:“_search”,nd:“nd”,npage:null}
默认的情况下,上传的数据如下url所示:
URL?page=1&rows=10&sidx=myindex&sord=asc
如果我们设置一下本属性{sort:”mysort”}那么实际调用的URL地址如下:
URL?page=1&rows=10&mysort=myindex&sord=asc
通过这个属性的设置,可以改变字段的名称。
默认值:none
该属性可以修改
*postData
array
设置直接通过url传递到服务器的其他参数。本属性的调用方式是传递一个形如{name1:value,name2:value2…}的数组。
默认值:emptyarray
该属性可以修改
*reccount
integer
只读属性。确定grid中显示的记录数量。不要把这个属性和records参数混淆了。records参数确定每页最多可以显示的数据条数。
默认值:0
该属性不能修改
*recordpos
string
确定记录条数信息在pager上面的位置。可能的值是left,center,right
默认值:right
该属性不能修改
*records
integer
只读属性。确定从请求返回的记录条数。
默认值:none
该属性不能修改
*recordtext
string
显示在pager上面的信息。在viewrecords属性被设置为true时有效。只有在总数量大于0的时候才显示。
这是一个用{n}格式化的显示字符串。其中第一个参数{0}代表记录的起始位置(grid显示的第一条记录在所有记录中的位置),第二个参数{1}表示grid最后一条记录在总记录中的位置,第三个参数{2}代表总的记录条数。
比如:从{0}到{1}共{2}
默认值:seelangfile
该属性可以修改
*resizeclass
string
为列指定一个调整宽度时候的现实风格class。
默认值:emptystring
该属性不能修改
*rowList
array[]
本参数用来为grid生成一个可供选择的调整每页显示记录条数的下拉菜单。在grid中选择修改这个值,jqGrid会用新的选择值来修改rowNum参数并传递到服务器端。可以设置的格式如[10,20,30]
默认值:emptyarray-[]
该属性不能修改
*rownumbers
boolean
如果设置为true,则会在grid的左边增加一列,增加的列用来显示记录行数,记录从1开始显示。这种情况下,colModel被一个name为rn的列自动扩展。由此,我们要注意了,在我们自己定义的列中,不要使用name=’rn’这种名称。
默认值:false
该属性不能修改
*rowNum
integer
设置每一个grid的页做多显示多少条记录。
这个参数会通过url参数传递到服务器端进行分页处理。
注意,如果你设置了页面最多显示10条记录,也就是rowNum=10,但是服务器端返回了15条记录,页面上也只会显示10条记录。
设置本值为-1表示页面显示记录没有限制。
默认值:20
该属性可以修改
*rownumWidth
integer
如果rownumbers设置为true,本属性用来设置该列的宽度。
默认值:25
该属性不能修改
*savedRow
array
只读属性。本属性用在InlineEditing和CellEditing模式下,用来在编辑行或者单元格之前保存数据。
默认值:emptyarray
该属性不能修改
*scroll
booleanorinteger
创建一个动态滚动的grid。如果本属性可用,pager元素被禁用,改用垂直滚动条来动态加载数据。当设置为true时,grid会在第一次加载的时候,把所有的数据取出到客户端,当scroll被设置为一个数字,grid将只显示可见的几行数据。
请注意,这里有一个可选的扩展参数npage传递到服务器端。如果在prmNames数组中设置了npage的值,那么grid将一次请求多页数据。所以这里服务器端的按页获取数据的方法需要特别注意处理。
默认值:false
该属性不能修改
*scrollOffset
integer
设置垂直滚动条宽度。
默认值:18
该属性不能修改.Methodavail.
*scrollrows
boolean
设置为true,当我们用setSelection选中记录时,grid会自动滚动到选中的行记录,让该行记录可见。假设grid有垂直滚动条,当我们在FormEditing编辑模式下修改记录,用编辑页的前后导航按钮定位记录的时候,当导航到一个隐藏的行记录的时候,grid会自动滚动以使让选中的行记录变成可见。
默认值:false
该属性可以修改
*selarrrow
array-[]
只读属性。在multiselect=true的情况下,确定当前选中的所有行。数组中包含的值只是选中列的id,用逗号隔开。比如[1,3,4,5]表示选中了id为1、3、4、5的行。
默认值:emptyarray[]
该属性不能修改
*selrow
string
只读属性。最后选中行的id。如果重新排序或者进行了导航,这个值为null。(也就是没有选中任何行的意思!)
这个属性很重要,很多时候,假设我们要对选中的行的数据进行一些处理,那么就必须要用到这个属性。大家可以看看jqGrid的Demo中有很多例子都用到这个属性。
默认值:null
该属性不能修改
*shrinkToFit
boolean
确定初始化时候每列的宽度的算法。如果设置为true,表示每列的宽度按照所有列设定的宽度值的和与grid设定的宽度按比例进行缩放。如果设置为false,则列宽按照colModel中设定的宽度显示。
默认值:true
该属性不能修改
*sortable
boolean
设置grid是否可以按照列进行排序。这个属性用到了jQueryUI的sortable插件。要确保加载了相应的文件,同时要确保下载jqGrid的时候,包含了grid.jqueryui.js包。
默认值:false
该属性不能修改
*sortname
string
当使用xml或者json数据类型时,设置默认的排序字段名称。这个参数会被增加到url上传递到服务器端。
默认值:emptystring
该属性可以修改
*sortorder
string
当使用xml或者json数据类型时,设置默认的排序方式。可选值asc或desc.
默认值:asc
该属性可以修改
*subGrid
boolean
设置是否能使用subgrid。
默认值:false
该属性不能修改
*subGridModel
array-[]
设置subGrid的描述信息。只在subGrid设置为true才有效。具体可设置的属性需要参考subGrid的文档。
默认值:emptyarray
该属性不能修改
*subGridType
mixed
允许通过一个service来加载subgrid。如果没有设置,则采用父grid的datatype。
默认值:null
该属性可以修改
*subGridUrl
string
加载subgrid数据的url,jqGrid会把每行的id值当作参数加到url中。只有在subGrid=true是才有效。如果需要传递额外的参数,请使用subGridModel中的params选项。
默认值:emptystring
该属性可以修改
*subGridWidth
integer
设置subGrid列的宽度。
默认值:20
该属性不能修改
*toolbar
array
Grid的工具栏。数组中有两个值,第一值指示toolbar是否可用,第二个值定义了toolbar相对于bodyLayer的位置,可能的值包括“top”,”bottom”,“both”
当我们设置值为[true,”both”],会创建两个工具栏,一个在table的顶部,一个在table的底部。
顶部的工具栏的div的id等于”t_”+grid的Id。底部的工具栏的div的id等于”tb_”+grid的Id。注意:当只创建一个工具栏的时候,不管位置是在顶部还是底部,工具栏的div的id都等于”t_”+grid的Id。
默认值:[false,'']
该属性不能修改
*totaltime
integer
只读属性。计算加载数据的时间。目前只支持加载xml以及json格式数据。从请求完成开始计算时间,到加载完最后一行记录截至。
默认值:0
该属性不能修改
*treedatatype
mixed
树形grid情况下,datatype。通常与grid自身定义的datatype保持一致。很少会改变。
默认值:null
该属性不能修改
*treeGrid
boolean
开启或者禁用树形grid的模式。
默认值:false
该属性不能修改
*treeGridModel
string
确定treeGrid的方法。可能是nested或adjacency
默认值:nested
该属性不能修改
*treeIcons
array
树形grid使用的图标。默认值是{plus:'ui-icon-triangle-1-e',minus:'ui-icon-triangle-1-s',leaf:'ui-icon-radio-off'}
默认值:无
该属性不能修改
*treeReader
array
扩展grid的colModel且加在colModel定义的后面这意味着从服务器返回的数据必须包含这些字段值。
默认值:无
该属性不能修改
*tree_root_level
numeric
treeGridroot元素的级别
默认值:0
该属性不能修改
*url
string
请求的URL地址。
默认值:null
该属性可以修改
*userData
array
本属性包含一些从request中获取的自定义的信息。比如不想直接显示在grid中的一些数据。
默认值:emptyarray
该属性不能修改
*userDataOnFooter
boolean
如果设置为true,则直接把userData中的数据显示在grid的页脚。规则是:如果userData数据包含和colModel中name一样的名字,那么userData的值就显示在该列。否则,什么都不显示。
Therulesareasfollow:IftheuserDataarraycontainnamewhichisequaltothoseofcolModelthenthevalueisplacedinthatcolumn.Ifthereare该属性不能修改suchvalues该属性不能修改thingispalced.
默认值:false
该属性可以修改
*viewrecords
boolean
确定是否显示总的记录条数。
默认值:false
该属性不能修改
*viewsortcols
array
本参数主要用来定义出现在标题附近的排序图标的不同的外观和行为。
参数数组的组成如下:[false,'vertical',true].第一个参数确定,如果所有的列排序属性都是true,是否所有的图标都能同时看到。默认值false表示只有最后排序列的图标可见。
第二个参数确定图标的位置。可能的值是vertical表示排序图标一个在另一个的上面。'horizontal'表示水平放置两个图标。
第三个参数确定鼠标点击事件功能。设置为true,表示,表示点击列标题可排序;设置为false表示只能点击图标才能排序。
重要提示:如果设置第三个参数为false,那么必须要设置第一个参数为true,否则,排序功能可能丢失。
默认值:无
该属性不能修改
*width
number
设置grid的宽度。如果本属性没有设置,则按照各个列定义在colModel中的宽度总和作为grid的宽度。如果设置了本值,则grid中每一个列的初始宽度按照shrinkToFit参数定义来确定。
默认值:none
该属性不能修改.Methodavail.
*xmlReader
array
对xml的数据格式的说明。参考jsonReader的描述。
默认值:无
该属性不能修改