怎么设置 jqgrid subgrid 的宽度

html-css026

怎么设置 jqgrid subgrid 的宽度,第1张

一、要引用的文件

要使用jqGrid,首先页面上要引入如下css与js文件。

1、css

<link href="/css/ui.jqgrid.css" rel="stylesheet" type="text/css" />

2、js

<script src='/Scripts/js/jquery-2.0.3.min.js' type="text/javascript"></script>

<script src='/Scripts/js/jqGrid/jquery.jqGrid.min.js' type="text/javascript"></script>

<script src='/Scripts/js/jqGrid/i18n/grid.locale-en.js' type="text/javascript"></script>

二、使用要点说明

1、获取值

1、获取单个id

获取行号,有这种方式:

var rowid = $("#grid-table").jqGrid("getGridParam", "selrow")

但是经过实际验证,这种方式不可行,当选中行,再点击同一行会出现获取不到行号的情况。

最后先在js最外部定义一个变量selId,然后使用如下代码在选中行时赋值:

onSelectRow: function (rowid, status) {

selId = rowid//给最外层的selId赋值

}

2、获取多个选中行的id

var ids=$('#gridTable').jqGrid('getGridParam','selarrrow')

其输出格式是逗号分隔的id,如:

1,2,3,4,5

3、获得所有行的ID数组

var ids = $("jqgridtableid").jqGrid('getDataIDs')

4、获取行数据

如果想获取选择的行的数据,只要传入rowId即可,如下:

var rowData = $('#gridTable').jqGrid('getRowData',rowId)

而这个rowData是一个对象,如果要获取选择的行的这个对象的属性值,如name的值,需如下:

var Name= rowData.name

5、获取单元格数据

var celldata = $("jqgridtableid").jqGrid('getCell',id,colnum)

6、设定行选中

//设定选中行,可设定多行选中:

$("jqgridtableid").jqGrid('setSelection',id1)

$("jqgridtableid").jqGrid('setSelection',id2)

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

jqGrid选项(Option)

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

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

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

属性类型描述默认值

ajaxGridOptionsobject此项用于设置当表格设置获得数据时,ajax的全局属性,注意此项可能覆盖所有当前的ajax设置(包括error, complete和beforeSend 事件)。empty

ajaxSelectOptionsobject此项用于设置在editoptions或searchoptions对象中通过dataUrl选择元素时, ajax的全局属性。empty

altclassstring交替行的类。 此项仅当altRows设置为true时有效。ui-priority-secondary

altRowsboolean设置为交替行表格false

autoencodeboolean当设置为true时,对来自服务器的数据和提交数据进行encodes编码。如<将被转换为< false

autowidthboolean当设置为true时,表格宽度将自动匹配到父元素的宽度。这个匹配只在表格建立时进行,为了使表格在父元素宽度变化时也随之变化,可以使用setGridWidth方法false

captionstring表格的标题。显示在Header上。若为空时将不会显示。empty

cellLayoutinteger该属性确定单元格的padding + border 宽度。通常不修改该属性,但若表格的CSS中改变了td元素,该属性需要修改。 缺省值5表示paddingLef(2) + paddingRight(2) + borderLeft(1)=55

cellEditboolean是否允许单元格编辑。false

cellsubmitstring确定单元格内容保存方式是remote还是clientArray 。'remote'

cellurlstring单元格保存的url。null

colModelarray描述列参数数组。这是表格最重要的部分,详见colModel API.null

colNamesarray[]列名称数组。该名称将在Header中显示。名称以逗号分隔,数量应与colModel 数组数量相等empty

dataarray以数组的形式保存本地数据。empty

datastrstring当datatype被设置为xmlstring或jsonstring时,为数据串。null

datatypestring定义表格希望获得的数据的类型,有效值有:

Xml —xml数据

xmlstring—xml字符串

json—JSON数据

jsonstring—JSON字符串

local—客户端数据(数组)

javascript—javascript数据

function—函数返回数据

xml

deselectAfterSortboolean只适用于当datatype为local时。当一个排序被应用时取消当前选定行。true

directionstring表格中的书写方向。“ltr”从左到右(缺省值),“rtl”从右到左ltr

editurlstring定义行内编辑地址URLnull

emptyrecordsstring当返回(或当前)数量为零时显示的信息此项只用当viewrecords 设置为true时才有效。

ExpandColClickbooleantrue时,点击展开行的文字,treeGrid展开或收拢true

ExpandColumnstring指定用于张开treeGrid的列(名称来自colModel),未设置即用第一列。此项只有当treeGrid为true时有效.null

footerrowboolean如果设置为true时,将生成一个表脚行,列数等于colModelfalse

forceFitboolean如果设置为true,改变列宽,相邻列也将调整以适应整体表格,将不会出现水平滚动条。false

gridstatestring表格的当前状态。有visible或hiddenvisible

gridviewboolean设置为true将提高5~10倍的显示速度。但不能再使用treeGrid, subGrid, 或afterInsertRow事件false

groupingboolean是否设置表格组false

heightmixed表格高度。可为数值、百分比或auto150

hiddengridboolean如果设置为true,表格开始被隐藏,数据不被载入,只显示标题。当第一次点击显示/隐藏按钮显示表格,数据从服务器载入。false

hidegridboolean是否允许显示/隐藏按钮可用。只有标题不为空时可用。true

hoverrowsboolean表行是否有鼠标悬停效果true

jsonReaderarrayJSON数据结构数组

lastpageinteger请求返回的总页数0

lastsortinteger排序的列号(0开始)0

loadonceboolean设置为true时,表格只一次读取服务器数据(使用适当datatype),之后,datatype 自动变为local ,所有进一步操作都在客户端完成,pager功能(若存在)将失效。false

loadtextstring数据请求和排序时显示的文本Loading…

loaduistring此项控制ajax进程进行时的动作。Disable—取消jqGrid的进程指示,可使用自定义的指示。 enable (缺省)—表格中间显示loading。 block – 显示“Loading”信息,禁用页面上的所有功能,直到数据装入完成。enable

mtypestring定义提交类型POST或GETGET

multikeystring此属性只有当multiselect为true时有效,定义多选时的组合键,可选值有: shiftKey ,altKey,ctrlKeyempty

multiboxonlyboolean此属性只有当multiselect为true时有效,. Multiboxonly设置为true时,只有点击checkbox时该行才被选中,点击其他列,将清除当前行的选中。false

multiselectboolean此属性设为true时启用多行选择,出现复选框false

multiselectWidthinteger若multiselect 为true时,定义多选列的宽度。20

pageinteger设置请求初始页的数量,此参数通过URL从服务器接受数据1

pagermixed定义分页浏览导航条。必须是一个HTML元素,如<div id="page"></div> empty

pagerposstring定义表格浏览导航条的位置,缺省情况下建立一个包括3部分的导航条:页码,导航按钮和记录信息。center

pgbuttonsboolean定义导航激活时导航按钮是否显示。true

pginputboolean定义导航栏是否有页码输入框。true

pgtextstring当前页信息。第一个量为当前页,第二个量为总页数。

prmNamesarray缺省情况下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

postDataarray此数组能直接传递到url。这个数组可使用这种形式{name1:value1…}。empty

reccountinteger只读属性。定义表格显示的行数。切勿与records混淆。0

recordposstring定义页中记录信息的位置,可以是left,center,right。right

recordposobject交替行的类true

recordsinteger只读属性。定义从请求中获得的记录数none

recordtextstring可在页面上显示的提示信息,此文字只在viewrecords 为true是有效,并且当记录总数大于0时才显示。

此文字中{}中的内容表示:

{0} 该页显示的第一个记录的记录号

{1} 该页显示的最后一个记录的记录号

{2} 获得的记录总数

resizeclassstring列可变大小时的类empty

rowListarray[]用于改变显示行数的下拉列表框的元素数组。empty

rownumbersboolean若此属性为true,表格左侧将添加一用于显示行数(从1开始)的列。此时colModel自动扩展出一个名为rn的元素。所以在colModel中不要定义rn。false

rowNuminteger表格中可见的记录数。此参数通过url传递给服务器供检索数据用。注意:若此参数设置为10,而服务器返回15条记录,将只有10条记录被装入。若此参数被设置为-1,则此检查失效20

rownumWidthinteger当rownumbers为true时,定义显示行数的列的宽度。25

savedRowarray只读属性。用于行编辑和单元格编辑保存数据之前empty

scrollboolean or integer创建动态滚动表格。当设为启用时,pager被禁用,可使用垂直滚动条来装入数据。false

scrollOffsetinteger定义垂直滚动条的宽度。18

scrollrowsboolean该项启用时,用setSelection 选定一行,表格将滚动到被选行可见。false

selarrrowarray-[]只读属性。当multiselect 为true时,包含当前选定的行。此为一维数组,值为表格中选定行的ID。empty

selrowstring只读属性。内容是最后选定行的ID。如火应用了排序或pagging,该值为null。null

shrinkToFitboolean or integer该项描述计算每列相对于表格宽度的初始宽度的类型。

若为true,并且设置了列宽度,则每列的宽度根据定义宽度缩放。

若为false,并且设置了列宽度,表格宽度为设置宽度,列宽度不会重新计算,使用colModel中定义的值true

sortableobject启用此项,允许使用鼠标重新排序列。true

sortnamestring从服务器读取XML或JSON数据时初始的排序名,此名被加到URL中。empty

sortorderstring从服务器读取XML或JSON数据时初始的排序类型,此类型被加到URL中。可选值为asc或desc。asc

subGridboolean设置为true,可使用子表格。启用子表格,将在基本表的左边将添加一列,并包含一个“+”图像,用户可以点击扩展行。false

subGridModelarray-[]该属性用于描述子表格的模式,只有subGrid 为true时有效。它是一个用于描述子表格列的数组。empty

subGridTypemixed用于定义子表格装入的数据类型,若不定义,则使用与父表格同样的数据类型。null

subGridUrlstring该属性用于定义子表格获得数据的URL。行的ID将键入此URL中,若要添加其他参数,可使用subGridModel 中的选项。empty

subGridWidthinteger定义子表格的列宽20

toolbararray该参数定义表格的工具栏。参数是一个包含两个值的数组,第一个值使工具栏有效,第二个值相对位置(可以是top、bottom、both)。例如:设置toolbar为 [true,”both”],将在表格的头部和底部建立两个工具栏,两个工具栏位两个DIV元素,头部DIV元素的ID为“t_表格ID”,底部DIV元素的ID为“tb_表格ID”。若只有一个工具栏(top或bottom)时,DIV的ID为“t_表格ID”。[false,'']

toppagerboolean是否在表格上部显示分页条。false

totaltimeinteger只读参数。用于记录装入XML和JSON数据的时间。0

treedatatypemixed定义初始数据类型null

treeGridboolean启用(禁用)TreeGrid。false

treeGridModelstring定义TreeGrid的方法。可以是nested或adjacency。nested

treeIconsarray此数组设置TreeGrid中使用的图标。图标应是UI theme中的有效图标。缺省为 {plus:'ui-icon-triangle-1-e',minus:'ui-icon-triangle-1-s',leaf:'ui-icon-radio-off'}

treeReaderarray扩展表格的colModel。这里定义的字段将添加到colModel的尾部并隐藏。服务器将返回这些字段的值。

tree_root_levelnumeric确定treeGrid相对于根元素的级别。0

urlstring请求数据的url地址null

userDataarray此数组保存请求的自定义信息,可随时使用empty

userDataOnFooterboolean到为true时, userData直接放置在页脚。false

viewrecordsboolean是否在浏览导航栏显示记录总数false

viewsortcolsarray定义表头中排序图标的外观和行为。缺省为[false,'vertical',true]。

第一个参数设定是否显示所有定义了排序的列旁显示图标。缺省的false表示只有当前排序列旁的图标显示。设为true可使所有可排序列都显示图标。

第二个参数设定排序图标如何放置。vertical为垂直放置,horizontal为水平放置。

第三个参数设定点击功能。True表示表头点击排序,false表示只点击排序图标排序。若将此参数设为false时,请确保第一个参数为true,否则将无法排序。

widthnumber若为设置,表格的宽度为colModel 中定义的所有列宽度的总和。若设置了该项,每列的初始宽度按照shrinkToFit 设置的值none

xmlReaderarray描述预期的XML数据结构的数组。

ColModel API

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

jQuery("#gridid").jqGrid({

...

colModel: [ {name:'name1', index:'index1'...}, {...}, ... ],

...

})

属性类型描述默认值

alignstring定义表格单元格(非表头)的对齐方式,可取值:left, center, right.left

classesstring此属性用于定义列的类名,当有多个类名时,用空格间隔,例如:“class1 class2”。在表格的CSS中,有一个预定义的类ui-ellipsis用于定义特定的行empty

datefmtstring日期格式,可用/,-和.。作为间隔符。y、Y、yyyy用于4位年,YY、yy用于2位的月,d、dd用于日期Y-m-d

defvalstring搜索字段的缺省值,此参数只用于自定义搜索是的初始值。empty

editableboolean定义字段是否可编辑,用于单元格编辑、行编辑和表单模式false

editoptionsarray根据edittype 参数定义可用的值数组empty

editrulesarray设置可编辑字段的补充规则empty

edittypestring定义行编辑和表单模式的编辑类型,可以是text、textarea、select、checkbox、 password、button、image和file。text

fixedboolean若设为true,即使shrinkToFit设置为true,列宽也不允许重新计算。GridWidth方法改变表格宽度时,列宽也不会改变。false

formoptionsarray定义表单编辑的各种选项empty

hidedlgboolean若设置为true,该列将不出现在模式对话框中,用户可以此控制列的显示或隐藏false

hiddenboolean定义初始化时,列是否隐藏。false

indexstring通过sidx参数设置排序时的索引名。empty

keyboolean在未从服务器获得ID的情况下,该列可设置为行ID。只有一列可设置该属性,若出现多列,表格只采用将第一个设置了该属性的列,其他列忽略。false

labelstring当colNames数组为空时,定义此列的标题。若colNames数组和此属性都为空,标题为该列的name属性值。none

namestring设置列在表格中的唯一名称,此属性是必须的。或者使用保留字subgrid、cb和rn.Required

resizableboolean定义是否可变列宽true

sortableboolean定义是否可以排序true

sorttypemixed当datatype为local时,用于定义排序列类型。可取int/integer(整数)、float/number/currency(小数)、date(日期)、text(文本)text

titleboolean当设置为false时,鼠标滑向单元格时不显示title属性true

widthnumber设置列的初始宽度,可用pixels和百分比