语言:C#
开发环境:Vs2008

1。实现目标
很多时候,我经常要做如下这样的一张报表:
纵向为统计粒度,横向为指标值,本例中合计是没有意义的,只是为了演示
一种常见(粒度,统计值)报表的实现方案
2。具体实现
从数据库中取出三张表(DataTable):
表1,命名为:VTable,作用:保存纵向统计力度的名称列表
表2,命名为:HTable,作用:保存横向指标的名称列表
表3,命名为:CellTable,作用:保存指标值

然后将三张表合在一个DataSet里,通过DataSet的GetXml()方法取得一个XML字符串,
这样,有了这个Xml字符串,配上通用的Xslt,就可以使用Asp:Xml控件进行展现

以下开始演示:
我建了三张表:StudentInfo, SubjectInfo, ScoreInfo
结合上图,很容易知道三张表各自的用途

一种常见(粒度,统计值)报表的实现方案

看下面取DataSet数据源的代码:
        }

有几个约定:表名(VTable,HTable,CellTable),列名(VName,HName,CellValue)

再看下面的XSLT:
一种常见(粒度,统计值)报表的实现方案<?xml version="1.0" encoding="UTF-8" ?>
一种常见(粒度,统计值)报表的实现方案
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
一种常见(粒度,统计值)报表的实现方案  
<!--
一种常见(粒度,统计值)报表的实现方案    written by Guozhijian
一种常见(粒度,统计值)报表的实现方案    
2008/01/04
一种常见(粒度,统计值)报表的实现方案  
-->
一种常见(粒度,统计值)报表的实现方案  
<xsl:output method="html"/>
一种常见(粒度,统计值)报表的实现方案    
<xsl:template match="/">
一种常见(粒度,统计值)报表的实现方案        
<style type="text/css">
  
在XSLT中计算了合计值

通过Asp:Xml控件(x1)展现:
        }

搞定!
这样,当需要做这样的报表的时候,只需要写3条非常简单的sql语句就完成了。
^_^

相关文章:

  • 2022-12-23
  • 2022-01-01
  • 2021-08-02
  • 2021-04-16
  • 2021-12-24
猜你喜欢
  • 2022-12-23
  • 2021-11-24
  • 2022-01-23
  • 2021-12-04
  • 2021-12-02
  • 2021-07-31
相关资源
相似解决方案