没有合适的资源?快使用搜索试试~ 我知道了~
首页jqGrid与Struts2 详细文档
资源详情
资源评论
资源推荐
根据 jqGrid 的文档,要想生成一个 jqGrid,最直接的方法就是:
$("#grid_id").jqGrid(options);
也就是通过选择符得到一个 table 的 jQuery 对象,然后调用 jqGrid(options),得到一个
jqGrid 对象。
重点就在传入的 option 选项上了,通过这些选项可以得到各种各样的 Grid 表格。
1. jqGrid 的重要选项
具体的 options 参考,可以访问 jqGrid 文档关于 option 的章节(http://www.trirand.com/
jqgridwiki/doku.php?id=wiki:options)。其中有几个是比较常用的,重点介绍一下:
url :jqGrid 控件通过这个参数得到需要显示的数据,具体的返回值可以使 XML
也可以是 Json。
datatype :这个参数用于设定将要得到的数据类型。我最常用的是“json”,其
余的类型还包括:xml、xmlstring、local、javascript、function。
mtype : 定义使用哪种方法发起请求,GET 或者 POST。
height :Grid 的高度,可以接受数字、%值、auto,默认值为 150。
width :Grid 的宽度,如果未设置,则宽度应为所有列宽的之和;如果设置了
宽度,则每列的宽度将会根据 shrinkToFit 选项的设置,进行设置。
shrinkToFit :此选项用于根据 width 计算每列宽度的算法。默认值为 true。如
果 shrinkToFit 为 true 且设置了 width 值,则每列宽度会根据 width 成比例缩放;
如果 shrinkToFit 为 false 且设置了 width 值,则每列的宽度不会成比例缩放,而
是保持原有设置,而 Grid 将会有水平滚动条。
autowidth :默认值为 false。如果设为 true,则 Grid 的宽度会根据父容器的宽
度自动重算。重算仅发生在 Grid 初始化的阶段;如果当父容器尺寸变化了,同
时也需要变化 Grid 的尺寸的话,则需要在自己的代码中调用 setGridWidth 方法
来完成。
pager :定义页码控制条 Page Bar
sortname :指定默认的排序列,可以是列名也可以是数字。此参数会在被传
递到 Server 端。
viewrecords :设置是否在 Pager Bar 显示所有记录的总数。
caption :设置 Grid 表格的标题,如果未设置,则标题区域不显示。
caption :Grid 的标题。如果设置了,则将显示在 Grid 的 Header 层。
rowNum :用于设置 Grid 中一次显示的行数,默认值为 20。正是这个选项将
参数 rows(prmNames 中设置的)通过 url 选项设置的链接传递到 Server。注
意如果 Server 返回的数据行数超过了 rowNum 的设定,则 Grid 也只显示
rowNum 设定的行数。
rowList :一个数组,用于设置 Grid 可以接受的 rowNum 值。例如[10,20,30]。
colNames :字符串数组,用于指定各列的题头文本,与列的顺序是对应的。
colModel :最重要的数组之一,用于设定各列的参数。(稍后详述)
prmNames :这是一个数组,用于设置 jqGrid 将要向 Server 传递的参数名称。
(稍后详述)
jsonReader :这又是一个数组,用来设定如何解析从 Server 端发回来的 json
数据。(稍后详述)
1.1 prmNames 选项
prmNames 是 jqGrid 的一个重要选项,用于设置 jqGrid 将要向 Server 传递的参数名称。
其默认值为:
view plaincopy to clipboardprint?
1. prmNames:{
2. page:"page",//表示请求页码的参数名称 ÐÐ
3. rows:"rows",//表示请求行数的参数名称 ÐÐ
4. sort:"sidx",//表示用于排序的列名的参数名称 ÐÐ
5. order:"sord",//表示采用的排序方式的参数名称 ÐÐ
6. search:"_search",//表示是否是搜索请求的参数名称 ÐÐ
7. nd:"nd",//表示已经发送请求的次数的参数名称 ÐÐ
8. id:"id",//表示当在编辑数据模块中发送数据时,使用的 id 的名称 ÐÐ
9. oper:"oper",//operation 参数名称(我暂时还没用到) ÐÐ
10. editoper:"edit",//当在 edit 模式中提交数据时,操作的名称 ÐÐ
11. addoper:"add",//当在 add 模式中提交数据时,操作的名称 ÐÐ
12. deloper:"del",//当在 delete 模式中提交数据时,操作的名称 ÐÐ
13. subgridid:"id",//当点击以载入数据到子表时,传递的数据名称 ÐÐ
14. npage:null,
15. totalrows:"totalrows"//表示需从 Server 得到总共多少行数据的参数名称,参
见 jqGrid 选项中的 rowTotal
16. }
可以通过这个选项来自定义当向 Server 发送请求时,默认发送的参数名称。
这个参数很重要也很有用,正是通过这个参数,可以方便的改变默认的 request 的参数,
以符合 Server 端的需要。比如在 prmNames 中 search 默认的值为"_search",这在
Struts2 的 Action 中不太方便命名成员变量和 getter/ setter。因此可以使用 prmNames:
{search: 'search'} 来改变这一默认值为"search",这在 Struts2 的 Action 对象中就很好设置
getter/ setter 了,即 getSearch()和 setSearch()。当然其他名字也是可以的。
1.2 jsonReader 选项
jsonReader 是 jqGrid 的一个重要选项,用于设置如何解析从 Server 端发回来的 json 数据。
其默认值为:
view plaincopy to clipboardprint?
1. jsonReader:{
2. root:"rows",//json 中代表实际模型数据的入口 ÐÐ
3. page:"page",//json 中代表当前页码的数据 ÐÐ
4. total:"total",//json 中代表页码总数的数据 ÐÐ
5. records:"records",//json 中代表数据行总数的数据 ÐÐ
6. repeatitems:true,//如果设为 false,则 jqGrid 在解析 json 时,会根据 name
来搜索对应的数据元素(即可以 json 中元素可以不按顺序);而所使用的
name 是来自于 colModel 中的 name 设定。 ÐÐ
7. cell:"cell",
8. id:"id",
9. userdata:"userdata",
10. subgrid:{
11. root:"rows",
12. repeatitems:true,
13. cell:"cell"
14. }
15. }
可以这样理解,prmNames 设置了如何将 Grid 所需要的参数传给 Server,而 jsonReader
设置了如何去解析从 Server 端传回来的 json 数据。如果没有设置 jsonReader 的话,
jqGrid 将会根据默认的设置来解析 json 数据,并显示在表格里。但如果传回来的 json 数据,
不太符合默认设置(比如内部的结构名不太一样),那么就有必要修改这一设置。比如:
view plaincopy to clipboardprint?
1. jsonReader:{
2. root:"gridModel",
3. page:"page",
4. total:"total",
5. records:"record",
6. repeatitems:false
7. }
注 1:据其他网友的文章,如果设置 repeatitems 为 false,不但数据可以乱序,而且不用
每个数据元素都要具备,用到哪个找到哪个就可以了。实验却是如此。
注 2:cell、id 在 repeatitems 为 true 时可以用到,即每一个记录是由一对 id 和 cell 组合而
成,即可以适用另一种 json 结构。援引文档中的例子:
repeatitems 为 true 时:
view plaincopy to clipboardprint?
1. jQuery("#gridid").jqGrid({
2. ...
3. jsonReader:{
4. root:"invdata",
5. page:"currpage",
6. total:"totalpages",
7. records:"totalrecords"
8. },
9. ...
10. });
json 结构为:
view plaincopy to clipboardprint?
1. {
2. "totalpages":"xxx",
3. "currpage":"yyy",
4. "totalrecords":"zzz",
5. "invdata":[
6. {"id":"1","cell":["cell11","cell12","cell13"]},//cell 中不需要各列的
name,只要值就 OK 了,但是需要保持对应 ÐÐ
7. {"id":"2","cell":["cell21","cell22","cell23"]},
剩余63页未读,继续阅读
redskyv5
- 粉丝: 4
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1