运用jqgrid如何才能实现动态增加列?

stevenandpig 发布于 2010/05/13 10:47
阅读 7K+
收藏 0

jqgrid 中的列名是从数据库取出来的,如何才能设置成列名,后台用servlet+json—lib;可以的话贴一些代码,谢谢;

加载中
0
红薯
红薯

简单的方法就是改写下 SQL 语句

SELECT aaa AS '姓名',bbb AS '性别' ccc AS '性取向' FROM table1

0
s
stevenandpig

我的意思是万一这张表里面多了个字段比方说“有妹妹否”,如何才能在jqgrid显示出来?

0
红薯
红薯

jqgrid 只是一个浏览器上的表格显示组件,要显示什么数据当然要有服务端的代码把数据送过来啊,你这个例子应该是servlet里要将新的数据通过json传给jqgrid 吧

0
s
stevenandpig

恩,我也是这么想的。但是具体操作起来就不会了。

0
marrysail
marrysail

我修改成,  前台页面上会有一个配置  [有必要的时候,用户可以选择需要显示的列项,比如 某个obj  有100个属性,而用户只要显示其中三个 ext。。],id 和 数据库对应,现实的时候 通过和前台的匹配,来决定需要显示的数据.   我是重写了   设置 header 的方法

x
xuxiaoxiao
我碰到一个问题是需要动态改变表头个数,比方说:服务器端传回的数据有5列,初始化表头的时候只有3列,怎么动态增加这两列呢?
0
marrysail
marrysail

服务器端传回的数据有5列,初始化表头的时候只有3列,怎么动态增加这两列呢 


首先你所有可能要显示的列都是放在配置中的,   前端的显示是根据你返回的数据 来告诉 前端,要显示那些列。    然后动态render 列,冬天render datalist

0
xiaocao000
xiaocao000

引用来自“stevenandpig”的答案

我的意思是万一这张表里面多了个字段比方说“有妹妹否”,如何才能在jqgrid显示出来?

不行的话, 就直接清空原来的表格, 重新加载数据. 

var $myGrid = $("#myTable");

$myGrid.clearGridData() .jqGrid('setCaption', 'myNewTitle') .setGridParam({url: myUrl,postData: $.toJSON(params)}) .trigger("reloadGrid");

如果模型也变了, 就更暴力一点,  

$t = $("<table id='"+table_id+"'></table>");

$("#"+parent_div_id).empty().html($t);

然后像初次加载jqgrid表格一样加载就好.



0
太空守望者
太空守望者
请参考jqGrid中文demo:http://blog.mn886.net/jqGrid/
返回顶部
顶部