在一个项目中,表格插件使用的是jqGrid,操作按钮都在底部分页工具栏的最左侧,让领导看了一下页面,领导说要把操作按钮全部放到表格的顶部,在网上查了一下,找到如下两种方法:
1.添加toolbar: [true,"top"]配置(可参考http://trirand.com/blog/jqgrid/jqgrid.html中New in version 3.1->Toolbars and userdata 中的样例代码)
2.将分页工具栏放到表格的顶部,但我测试时,会在顶部和底部都出现分页工具栏(可能是我配置的不对)
在项目中按钮都是通过jqGrid的navGrid和navButtonAdd方法添加的,如果使用方法一,则我需要将按钮全部重新定义一次,修改量太大,如果使用方法二,则会出现两个分页工具栏,且领导只让分页工具栏显示在表格的底部,故放弃上述两种方法。
这时我就再想,能不能给jqGrid添加一个扩展呢,最后想到一种扩展思路:在表格的顶部创建一个和底部分页工具栏一样的div(不包含分页按钮等内容),然后在调用navGrid和navButtonAdd方法时,将按钮渲染到顶部创建的这个div中,于是分析jqGrid源码及前台渲染的html。
经过不断的尝试,按照上面的思路,终于写出了这个扩展,该扩展添加了如下配置项: