8
回答
运用jqgrid如何才能实现动态增加列?
百度AI开发者大赛带你边学边开发,赢100万奖金,加群:418589053   

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

举报
stevenandpig
发帖于8年前 8回/7K+阅
共有8个答案 最后回答: 4年前

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

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

--- 共有 1 条评论 ---
xuxiaoxiao我碰到一个问题是需要动态改变表头个数,比方说:服务器端传回的数据有5列,初始化表头的时候只有3列,怎么动态增加这两列呢? 6年前 回复

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


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

引用来自“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表格一样加载就好.



顶部