jQuery MiniUI

 找回密码
 立即注册
查看: 1332|回复: 6

想实现这样的功能,根据表格的内容动态显示表头 [复制链接]

Rank: 3Rank: 3

发表于 2021-8-24 10:29:48 |显示全部楼层
表格是个大表,很多属性有时候是没有值的,所以会显示空列,不好看。所以想实现这样的功能,根据表格的实际内容,动态显示表头,空列的表头就不显示。后台返回一个对象,其中包括表头数据和表格数据,请问该如何实现呢?我的想法还是用url来load,因为setData有点麻烦。但是表格load以后如何能拿到返回数据中的表头数据呢?或者有没有更好的解决办法?

Rank: 8Rank: 8

发表于 2021-8-24 13:17:36 |显示全部楼层
grid.setColumn(columns)可以动态生成列。
preload事件可以截取后台加载的数据,把表头部分的数据处理戴奥
grid.on("preload",function(e){
    var data=e.data;
    var columnData=...
    var gridData=....
    grid.setColumns(columnData);
   e.data=gridData;
})

Rank: 3Rank: 3

发表于 2021-8-25 10:06:58 |显示全部楼层
本帖最后由 xiva 于 2021-8-25 10:08 编辑
felt 发表于 2021-8-24 13:17
grid.setColumn(columns)可以动态生成列。
preload事件可以截取后台加载的数据,把表头部分的数据处理戴奥
...

e.data 只能传递表格的数组数据,我后台返回的是一个结果,表头和表格数据是同时返回的,请问怎么得到表头数据和表格数据呢?

Rank: 8Rank: 8

发表于 2021-8-25 10:13:19 |显示全部楼层
xiva 发表于 2021-8-25 10:06
e.data 只能传递表格的数组数据,我后台返回的是一个结果,表头和表格数据是同时返回的,请问怎么得到表头 ...



e.data是你后台传递过来的所有数据

Rank: 3Rank: 3

发表于 2021-8-25 10:17:49 |显示全部楼层
felt 发表于 2021-8-25 10:13
e.data是你后台传递过来的所有数据

不是的,我改了数据格式,就无法获取了,是不是我的版本的原因呢

Rank: 8Rank: 8

发表于 2021-8-25 10:23:43 |显示全部楼层
xiva 发表于 2021-8-25 10:17
不是的,我改了数据格式,就无法获取了,是不是我的版本的原因呢

纠正一下是e.result是全部数据

Rank: 3Rank: 3

发表于 2021-8-25 10:32:13 |显示全部楼层
felt 发表于 2021-8-25 10:23
纠正一下是e.result是全部数据

这下可以了

Archiver|普加软件

GMT+8, 2022-5-18 18:32 , Processed in 0.038454 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部