jqGrid与Struts2的结合应用(九) —— 补充细节

来源:互联网 发布:网络公关公司如何收费 编辑:程序博客网 时间:2024/04/29 21:19
这篇中将补充说明一些之前没有讲到的细节内容,比如一些特殊功能的jqGrid选项、jqGrid的事件等等。


1. jqGrid选项补充说明

之前已经介绍了许多经常用到的jqGrid选项,还有一部分虽然还没有介绍,但却能肩负特殊的功能。例如:

  • altRows :当次此选项为true时,表格的行将呈现交替样式显示(zebra-striped)。
  • altclass :此选项只在altRows为true时才有效,交替显示的样式;默认值为:ui-priority-secondary。
  • datastr :当datatype选项为xmlstring或jsonstring时,设置此选项可以充当Grid中的数据内容。
  • deepempty :如果有事件或者插件被绑定到表格的cell上,则应该经此选项设为true;此选项将使用jQuery的empty方法来处理行及其子元素的回收工作;虽然会有性能下降,但可以避免内存泄露。
  • forceFit :如果此选项为true,则当调整某一列的宽度的时候,其右侧相邻的列也会相应调整宽度,以保持整个表格的宽度不变;但此选项受制于shrinkToFit选项,当shrinkToFit为false时,此选项也将被忽略。
  • gridstate :当使用了hiddengrid、hidegrid、caption选项的时候,决定表格的状态;可能的值为visible和hidden,默认值为visible。
  • hidegrid :由于控制是否启用或禁用表格标题栏中的“显示/隐藏”表格按钮;只有在caption属性为非空字符串的情况下有效。
  • hiddengrid :如果设为true,则表格在初始化状态下是隐藏的,只有标题栏显示,且不会像Server发送请求,也就不会载入任何数据;只有第一次点击标题栏中的“显示/隐藏”表格按钮后,才会向Server发送请求,载入数据,显示表格;此选项只有在caption选项非空,且hidegrid为true的情况下才有效。
  • lastpage :只读选项,表示从请求返回的总页码数,默认为0。
  • lastsort :只读选项,表示最后一次排序使用的列的索引序数,从0开始,默认为0。
  • loadonce :如果此项为true,则只向Server发送一次请求。当第一次请求结束后,datatype选项自动变更为local,所有的后续操作都只是基于客户端的;而pager的各项功能也都将被禁用。
  • multiselect :如果此项为true,则允许多行同时选择;在表格的左端将出现新的一列,用于多行选择。
  • multikey :此项只在multiselect为true时有意义,定义按哪个键来进行多行选择,可能的值:shiftKey、altKey、ctrlKey。
  • multiboxonly :此项只在multiselect为true时有意义;如果此项为true,则只有点击多选列中的checkbox,才能进行多行选择,点击行的其他位置,都只是单行选择。
  • multiselectWidth :设置多选列的宽度。
  • selarrrow :只读选项,表示在multiselect为true时,多选行的id数组。
  • postData :{name:value,...}类型的数组,此数组中的元素将会作为参数,被直接传入url;
  • sortname :表格初始化时使用的排序列的index。
  • sortorder :表格初始化时使用的排序方式,asc或desc。
  • scroll :创建动态滚动的表格,可以使用垂直滚动条来载入数据。此选项可以接受boolean值或integer值;默认为false;如果为true,则表格将保持从开始到现在所有曾经显示行;如果为设为数值(例如1),则表格只保持当前显示的数据行,以防内存泄露。(具体参见官方文档http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options )



2. colModel选项补充说明

  • align :文本对齐方式,left、center、right。
  • datefmt :日期格式,默认为ISO格式(Y-m-d),使用的是PHP风格的日期格式,参见官方文档。
  • formatter :使用预定义的格式,或者用于控制此列格式的自定义函数名。具体参见官方文档(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter )。
  • key :当从Server得到的数据中不包括id的时候,设定该列充当id,以代表唯一的行id;最多可以有一列设置此选项为true;如果多于一列设置了此项为true,则第一个设定的列将充当id列,其余的将被忽略。


注:

  • name选项的值可以包含“.”,例如patentCaseType.caption,即对应从gridModel(根据我的jsonReader设置)中的元素的patentCaseType属性的caption属性;
  • name选项主要用途是用来解析从response中传来的对应数据;
  • index选项主要用途是用来在查询和排序时,向Server传递对应的参数;



3. jqGrid事件

事件说明列表可以参考官方文档(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events ),不再赘述。

需要说明的是,自从3.6.3版本以后,可以在对应的事件方法函数中使用$(this)来应用jqGrid对象。

原创粉丝点击