谈谈.NET报表中的行式填报

任务背景

输入页面的动态增删行是个比较头痛的问题。用户在录入数据的时候,往往希望可以动态插入、删除、添加记录,这样操作起来比较方便。
对于比较简单的清单式报表,有这样的要求,但是对于比较复杂的分组报表,或者是分片输入的报表,也同样会提出类似的要求。此时要求能够选择报表区域,针对某个区域进行增删行的操作。
新增加的行要求能够自动生成对应的编辑风格、自动计算、合法性检查等功能

面临困难

如果编程实现上述的功能,面临如下困难:
- 需要记录每条记录的修改、删除、新增状态
- 需要写复杂的javascript,实现动态增删的功能
- 对于分组报表和分片输入的报表,还需要智能识别用户需要增删的是哪个报表区域,从而对相应区域进行操作。

动 态增删需要考虑的细节非常多,决不是表面上的增删行那么简单,在增加行的时候需要把编辑风格、自动计算、合法性检查等属性动态解析到新增加的行,这是一个 最复杂的功能,因为每一行的编辑风格、自动计算、合法性检查等属性不会完全一样,因为这些属性往往和当前行的一些数据值有关系。而且还有一些全局的自动计 算,可能和所有行都有关系,例如对所有行的sum操作等,这些自动计算的表达式都要动态的解析和变化。

当然,新增加的行还会有缺省值等属性,例如动态流水号等等,这些功能必然会遇到。

考虑到直接编程实现上述功能太麻烦,建议采用博计报表的行式填报,博计报表的行式填报从根本上解决了动态增删行的问题,不仅仅可以对分组报表、分片输入的报表实现多区域的插入删除,还能够动态解析编辑风格、自动计算、合法性检查等属性,实现了很智能的流水号、缺省值等功能,实现步骤如下:

实现步骤

  1. 设计一个填报表,把报表样式设为”行式报表”
  2. 根据业务需要,添加编辑风格、自动计算、合法性检查、流水号等属性
  3. 在jsp中发布时,往tag里添加insertRowLabel、appendRowLabel、deleteRowLabel等属性,即插入、添加、删除按钮。

于是,功能完美的行式填报完成了,请看效果图:

效果演示

row_report_input.png

引自:.NET报表知识库
相关文章:高效.NET Web报表设计 ; 博计报表的几大主要功能简介 ; 通过插入局部报表更方便地做报表 ; 在.NET Web填报报表中使用下拉多选列表框
其他相关内容:面向普及的报表工具 ; RAQSOFT ; 专业.net报表打印工具研究.NET报表设计.net报表研究

浏览次数:0 ; 发布日期:2009/03/29

热门文章

  • 申请试用授权 - 49,853 views
  • 使用入门教程简介 - 30,987 views
  • .NET报表产品概况 - 27,730 views
  • 联系我们 - 13,867 views
  • 技术支持 - 10,185 views
  • 高效报表设计 - 9,033 views
  • Web报表工具的新起点 - 7,563 views
  • 复杂报表的制作 - 7,033 views
  • Web报表软件的采购成本 - 6,530 views
  • Web报表软件的集成方案 - 5,075 views