欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jqGrid ColModel详解

程序员文章站 2022-06-05 22:58:07
...

 

colModel:最重要的数组之一,用于设定各列的参数。

  

colModel也有许多非常重要的选项,在使用搜索、排序等方面都会用到。这里先只说说最基本的。

 

• name:为Grid中的每个列设置唯一的名称,这是一个必需选项,其中保留字包括subgridcbrn

• index:设置排序时所使用的索引名称,这个index名称会作为sidx参数(prmNames中设置的)传递到Server

• label:当jqGridcolNames选项数组为空时,为各列指定题头。如果colNames和此项都为空时,则name选项值会成为题头。

• width:设置列的宽度,目前只能接受以px为单位的数值,默认为150

• sortable:设置该列是否可以排序,默认为true

• search:设置该列是否可以被列为搜索条件,默认为true

• resizable:设置列是否可以变更尺寸,默认为true

• hidden:设置此列初始化时是否为隐藏状态,默认为false

• formatter:预设类型或用来格式化该列的自定义函数名。常用预设格式有:integerdatecurrencynumber

 

 

 

colNames:['ID','角色名称', '角色说明'],

colModel:[

    {name:'ID', index:'ID',width:55,sortable:false,hidden:true},

    {name:"LBMC",width:80,sortable:false},

    {name:"SM",width:80,sortable:false}

],

 

var rowId = $("#gridTable").getGridParam('selrow');

var rowData = $("#gridTable").getRowData(rowId);

 

jqGrid就是通过rowId来选择执行其他操作,而不是rowData.ID

 

 

注意:rowId是指table tr.id

如果colModel的属性中有name:'id'(小写,从数据库里面读出来的),这个值会把table trid覆盖了。此时rowId == rowData.id

如果colModel的属性中没有有name:'id',会自动生成tr.id

 


jqGrid生成的源码如下:

 

<table id="gridTable" class="ui-jqgrid-btable" cellspacing="0" cellpadding="0" border="0" tabindex="1" role="grid" aria-multiselectable="true" aria-labelledby="gbox_gridTable" style="width: 1144px;">

<tbody>

<tr id="1" class="ui-widget-content jqgrow ui-row-ltr bgeaeff1" role="row" tabindex="-1">

    <td aria-describedby="gridTable_cb" style="text-align:center;width: 20px;" role="gridcell">

        <input id="jqg_gridTable_1" class="cbox" type="checkbox" name="jqg_gridTable_1" role="checkbox">

    </td>

    <td aria-describedby="gridTable_ID" title="4028818d2e8a1592012e8a1c1c0e0003" style="display:none;"             role="gridcell">4028818d2e8a1592012e8a1c1c0e0003</td>

    <td aria-describedby="gridTable_LBMC" title="2" style="" role="gridcell">2</td>

    <td aria-describedby="gridTable_SM" title="2" style="" role="gridcell">2</td>

</tr>

</tbody>

</table>

 

 

ColModeljqGrid里面最核心的属性。大部分配置都在这里面进行。所有的属性的含义对应如下:

Property

Type

Description

Default

align

string

Defines the alignment of the cell in the Body layer, not in header cell. Possible values: left, center, right.
定义单元格对齐方式;可选值:left, center, right。例如:

{name:’id’,align:’left’},实现左对齐。

left

classes

string

This option allow to add classes to the column. If more than one class will be used a space should be set. By example classes:’class1 class2′ will set a class1 and class2 to every cell on that column. In the grid css there is a predefined class ui-ellipsis which allow to attach ellipsis to a particular row. Also this will work in FireFox too.
置列的css。多个class之间用空格分隔,如:’class1 class2′ 。表格默认的css属性是ui-ellipsis。这个属性在火狐浏览器中也是有效的。

empty string

datefmt

string

Governs format of sorttype:date (when datetype is set to local) and editrules {date:true} fields. Determines the expected date format for that column. Uses a PHP-like date formatting. Currently ”/”, ”-”, and ”.” are supported as date separators. Valid formats are:
y,Y,yyyy for four digits year
YY, yy for two digits year
m,mm for months
d,dd for days.
sorttypedate和编辑规则的datetrue是有效。使用的格式和php一样。默认为Y-m-d

ISODate (Y-m-d)

defval

string

The default value for the search field. This option is used only in Custom Searching and will be set as initial search.
查询字段的默认值。这个选项只在自定义所属中有效。

empty

editable

boolean

Defines if the field is editable. This option is used in cell, inline and form modules.
设定是否可以对单元格进行编辑{name:’id’,index:’id’, width:180,editable:true},

false

editoptions

array

Array of allowed options (attributes) for edittype option editing
编辑的一系列选项{name:’__department_id’,index:’__department_id’,width:200,editable:true,edittype:’select’,editoptions:{dataUrl:”${ctx}/admin/deplistforstu.action”}},这个是演示动态从服务器端获取数据。

empty array

editrules

array

sets additional rules for the editable field editing
编辑的规则{name:’age’,index:’age’, width:90,editable:true,editrules:{edithidden:true,required:true,number:true,minValue:10,maxValue:100}},设定年龄的最大值为100,最小值为10,而且为数字类型,并且为必输字段。

empty array

edittype

string

Defines the edit type for inline and form editing Possible values: text, textarea, select, checkbox, password, button, image and file.
编辑的类型,可为texttextareaselectcheckboxpasswordbuttonimagefile等。

text

fixed

boolean

If set to true this option does not allow recalculation of the width of the column if shrinkToFit option is set to true. Also the width does not change if a setGridWidth method is used to change the grid width.
如果设定为true的话,单元格的大小将无法进行调整(即不可更改其宽度),同样,调用setGridWidth的方法也不会改变其大小。

false

formoptions

array

Defines various options for form editing.
form
编辑的一些选项

empty

formatoptions

array

Format options can be defined for particular columns, overwriting the defaults from the language file. See Formatter for more details.
对某些列进行格式化的设置

none

formatter

mixed

The predefined types (string) or custom function name that controls the format of this field.
对列进行格式化时设置的函数名或者类型

{name:’sex’,index:’sex’, align:’center’,width:60,editable:true,edittype:’select’,editoptions:{value:’0:待定;1:;2:’},formatter:function(cellvalue, options, rowObject){
var temp = “<img src=’${ctx}/jquery-ui-1.7.2.custom/css/img/”
if(cellvalue==1){
temp = temp +”user-white.png”;
} else if(cellvalue==2){
temp = temp +”user-white-female.png”;
} else {
temp = temp + “user-silhouette.png”;
}
temp = temp + “‘ border=’0′ />”
return temp;
}},//
返回性别的图标。

none

hidedlg

boolean

If set to true this column will not appear in the modal dialog where users can choose which columns to show or hide.
如果设置为true将显示在对话框中,可以让用户选择该列是显示或隐藏。

false

hidden

boolean

Defines if this column is hidden at initialization.
定义在初始化的时候是否隐藏此列

false

index

string

Set the index name when sorting. Passed as sidx parameter.
索引。其和后台交互的参数为sidx

empty string

jsonmap

string

Defines the json mapping for the column in the incoming json string.
定义返回的json的映射。

none

key

boolean

In case if there is no id from server, this can be set as as id for the unique row id. Only one column can have this property. If there are more than one key the grid finds the first one and the second is ignored.
如果从服务器返回的数据没有id属性,那么此列将被作为唯一的属性而设置为id,只有一个列可以做这项设置。如果设置多于一个,那么只选取第一个,其他被忽略。

false

label

string

When colNames array is empty, defines the heading for this column. If both the colNames array and this setting are empty, the heading for this column comes from the name property.
如果colNames为空则用此值来作为列的显示名称,如果都没有设置则使用name

none

name

string

Set the unique name in the grid for the column. This property is required. As well as other words used as property/event names, the reserved words (which cannot be used for names) include subgrid, cb and rn.
必输项,表格列的名称,所有关键字,保留字都不能作为名称使用包括subgrid, cb and rn.

Required

resizable

boolean

Defines if the column can be re sized
是否可以改变大小(主要是宽)

true

search

boolean

When used in search modules, disables or enables searching on that column.
在搜索模式下,定义此列是否可以作为搜索列

true

searchoptions

array

Defines the search options used searching
设定搜索的选项。

empty

sortable

boolean

Defines is this can be sorted.
定义是否可以排序

true

sorttype

string

Used when datatype is local. Defines the type of the column for appropriate sorting.Possible values:
int/integer – for sorting integer
float/number/currency – for sorting decimal numbers
date – for sorting date
text – for text sorting
用在当datatypelocal时,定义搜索列的类型,可选值:int/integer – integer排序float/number/currency – 排序数字date – 排序日期text – 排序文本

text

stype

string

Determines the type of the element when searching.
定义搜索元素的类型

text

surl

string

Valid only in Custom Searching and edittype : ‘select’ and describes the url from where we can get already-constructed select element
搜索的地址。只在自定义搜索和editypeselect的时候有效。

empty string

width

number

Set the initial width of the column, in pixels. This value currently can not be set as percentage
在初始化的宽度,这个值不可以使用百分比的格式。初始化为150pixels

{name:’id’,index:’id’, width:180,editable:true,editoptions:{readonly:true,size:10}}

150

xmlmap

string

Defines the xml mapping for the column in the incomming xml file.

none

unformat

function

Custom function to “unformat” a value of the cell when used in editing Unformat is also called during sort operations. The value returned by unformat is the value compared during the sort.)
format对应。

null

 

 

 

 

 

 

 

 

相关标签: jqGrid ColModel