ASP.NET中后台重构DataTable实现分类汇总
2015-07-24李迎霞
李迎霞
摘要:ASP.NET报表组件相对简单,但是利用强大的后台处理能力,通过重构,可以实现灵活多变的数据展示方式。该文以处理财务收支明细显示报表为例,介绍了后台重构一个新的DataTable的过程,对从数据库中查询到的原始记录的时间中的年月进行提取,然后按需要进行年月汇总,穿插在明细中一起显示,替用户完成了后期数据汇总的工作,经实际应用验证,本程序功能具有良好的应用性和通用性。
关键词:ASP.NET;DataTable重构;分类汇总
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)14-0081-02
Abstract: ASP.NET report component is relatively simple, but the use of powerful background processing ability, through refactoring, can achieve flexible data display mode. The to deal with financial income and expenditure details display a report as an example, introduces the background to reconstruct a new datatable, to date from the database query to the original records of the time extraction, and according to the need for monthly summary, interspersed in the details are displayed together, for the user to complete the post data summary of the work and verified by practical application, the functions of the program has good applicability and generality.
Key words: ASP.NET; DataTable reconfiguration; classification summary
1 问题描述
将数据库中的财务收支明细显示的同时,还按年月汇总显示。如果是往年的数据,则只显示往年年份及往年总额度,不必显示每一条明细;如果是当年的数据,则除了显示每一条收支明细,还要按月汇总显示。
2 数据表结构设计
本文中所采用的数据表主要用于存储每一条收支明细,包括收支相关的业务员姓名、详细时间、凭证号、摘要、借方、贷方、余额和备注信息等
4 算法描述
程序是在ASP.NET环境下设计实现的[2],具体算法描述如下:
1)创建连接对象并打开连接
2)利用SqlDataAdapter将数据查询到DataSet中的第0个表中
3)构建一个DataTable对象zuizhong_grjz并添加列,使其结构与DataSet中的第0个表结构一致。主要操作是新建DataTable对象,根据字段自动添加列。
4)准备工作,取查询到的记录集的第0行的日期中的年份和月份,作为比较时的上一条记录的年份和月份;初始化余额汇总变量值为0;到当前年的年份,用于是否显示明细的判断。
5)循环处理:针对查询到的记录集,从第0行开始,直到最后一行,都做如下相同的操作:
首先,给DataTable对象zuizhong_grjz新添加一行row_i;
然后取当年行的日期中的年份和月份、当前行的借方值、贷方值和余额值;
判断1:
5 分析总结
程序在多个企业系统中加以应用验证,功能完整,算法正确,运行稳定,达到了实际需求的效果,为同类型应用提供了一种解决思路和方法。本程序模型具有一定的通用性,用户可以根据自定义的表结构来替换文中的相关部分,即可实现自定义的分类汇总。后期可以根据自己的需求,利用后台程序读取数据表字段名,生成对应的DataTable对象,实现真正意义上的定义动态分类汇总。
参考文献:
[1] 斯蒂芬森,晋劳,琼斯.井中月.SQL入门经典[M]. 郝记生,译.人民邮电出版社,2011.
[2] 史潘加斯.ASP.NET 4.5.1入门经典[M]. 苏正泉,牟明福,译.清华大学出版社,2015.