首页 新闻 会员 周边 捐助

sap.net 操作结构复杂的可现场编辑的报表。

0
悬赏园豆:60 [已解决问题] 解决于 2012-02-14 09:04

如图所示,要在网页上生成类似的Table,而且要求数据区域是可编辑的,还要能存放到数据库中,

看到这复杂的表结构,Gridview是用不了了,现在只能用Js和Ajax来实现,可是对于数据库的设计和编辑后如何存放数据库我还是一头雾水,不知道有没有哪位前辈做过类似的项目么有,给点建议啊!

更变态的需求:User 可以根据需要选择显示数据的范围,比如如果勾选了第二周,表格就自动在右边增加第二周的七列来显示第二周的数据,如果勾选了模具号"#3",则自动在下面生成一行。

今天搞的我头都大了,现在只实现了下面的内容

1.用一维表存放数据,即将所有的数据存放到一张表中,数据存放如下

查询时候用行列转换来模拟交叉表的查询,

查询结果如下

2.生成Table后输出到前台页面生成表格,然后用了个Jquery插件来合并行,列来达到上图的效果

3,用了一个Jquery插件来实现点击td时候可以编辑。

4,目前做出来的效果如下

现在最主要的问题是编辑后的数据如何回填到数据库呢,由于表格不对称,不知道如何拼接生成Json字符串。

Gamain的主页 Gamain | 菜鸟二级 | 园豆:357
提问于:2012-02-03 20:40
< >
分享
最佳答案
0

在合并列之前,你可以为每个单元格添加数据键,例如

这样在数据修改的时候,就可以通过这个表格单元格获取到数据键了。

收获园豆:60
klice | 初学一级 |园豆:173 | 2012-02-07 12:01

好方法,的确是一个捷径啊。

不知道你以前有没有做过类似的项目呢,希望能和你交流一下。

Gamain | 园豆:357 (菜鸟二级) | 2012-02-08 08:21

@Gamain: 做过一个报表项目,根据动态数据源生成报表,但是没有要求对数据区可编辑。欢迎交流,我的msn:klicevip@yahoo.com.cn

klice | 园豆:173 (初学一级) | 2012-02-08 09:16

@klice: 写了一大堆JS和复杂的T-sql终于是把报表的显示做出来了,事实上这个截图是指需求中的一个,还有好多不同结构的报表,我现在只是做了Demo对技术上可行性评估一下。

可是存在的一个最大的问题是还没有找到一个公用的方法,如果User的需求稍有变动,比如报表结构稍微变动,我所有的逻辑(包括JS,T-sql,后台代码)肯能都要修改,不知道你以前做报表项目的时候有没有遇到过类似的问题。

ExtJs之类的框架没有仔细研究过,不知道是否支持类似的多维报表。

公司网络加域,现在没有权限上MSN,悲剧。

Gamain | 园豆:357 (菜鸟二级) | 2012-02-08 12:46

@Gamain: 我查了一下extjs,支持合并列和可编辑列,至于合并行,好像只有一个类似行分组的功能,可能需要查看一下extjs的源码并加以扩张了。。

合并列:http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/group-header-grid.html

可编辑列:http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/cell-editing.html

行分组:http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/groupgrid.html

klice | 园豆:173 (初学一级) | 2012-02-08 13:41

@klice: 我研究了一下那个用Data Key存放数据的方法,感觉没有实现,不过还是非常感谢你的帮助。

想在网上找一点类似的资料也没有找到,特别是编辑后回填数据库那一块,不知道用什么方式会比较好,是不是这种需求不太靠谱大家都没有做过啊,O(∩_∩)O~。

Gamain | 园豆:357 (菜鸟二级) | 2012-02-09 08:20

@Gamain: 能说说为什么没有实现吗?

我觉得如果用extjs的话,只要使用原始数据生成表格,不需要data key也可以了,只是要指定哪些数据列合并,哪些数据行合并。

klice | 园豆:173 (初学一级) | 2012-02-09 09:12
其他回答(3)
0

我觉得你的json数据结构域你的数据库的结构一致即可!

小小刀 | 园豆:1991 (小虾三级) | 2012-02-03 21:30

是啊,可是合并行之后的Table就不对称了(有些格子占用两行),如何提取数据呢?

支持(0) 反对(0) Gamain | 园豆:357 (菜鸟二级) | 2012-02-04 00:15

@Gamain: 表头不需要保存的

支持(0) 反对(0) ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-06 09:23

@Gamain: 我的意思是合并的单元格不需要保存的

支持(0) 反对(0) ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-06 09:24

@ChatinCode: 表头是不用保存,可是保存的时候需要读取表头的键值来保存到数据,比如第一个数据5000,你要找到day:sun,week:week01,Type:ACT,MachineNo:No.1等。但是这个表格又是多维的,不能直接找到这些数据。

支持(0) 反对(0) Gamain | 园豆:357 (菜鸟二级) | 2012-02-08 08:26
0

json的格式你先弄明白,其他事情可能就解决了

az235 | 园豆:8483 (大侠五级) | 2012-02-04 11:15
0

这种事情,是比较麻烦。我有一套完整的解决方案。基本上像这些都是小case。不过一两句说不清楚。

lorgine | 园豆:245 (菜鸟二级) | 2012-02-05 12:42

啊?能给一个比较好的解决方案的话真是太感谢了。

希望能给点指点啊,能否加我我的QQ 328638061呢。

支持(0) 反对(0) Gamain | 园豆:357 (菜鸟二级) | 2012-02-05 18:18

能否给个Demo参考一下呢

支持(0) 反对(0) Gamain | 园豆:357 (菜鸟二级) | 2012-02-06 22:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册