Foxtable(狐表)用户栏目专家坐堂 → 利用DataList显示统计结果


  共有25193人关注过本帖树形打印复制链接

主题:利用DataList显示统计结果

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
利用DataList显示统计结果  发帖心情 Post By:2009/3/14 3:07:00 [显示全部帖子]

利用DataList显示统计结果


GroupTableBuilder用于进行分组统计,CrossTableBuilder用于进行交叉统计,这两个类使用起来很方便,几乎可以随心所欲地得到任何统计结果。
这两个类就是生成的统计结果,都是直接以表的形式显示在主界面中。
有的时候,我们需要更专业的界面,希望统计结果不以表的形式显示在主界面中,而是仅仅显示在窗口的DataList控件中,那么如何来实现呢?

GroupTableBuilder和CrossTableBuilder的Build方法都有一个可选参数,如果将该参数设为True,那么Build方法只返回一个临时的DataTable,而不会显示在主界面中。
有了这个特性,那么我们前面的要求,可以很简单地实现。


示例一


单击某各按钮,希望在DataList中显示每个产品的销售额,按钮的Click事件代码可以设为:


Dim
b As New GroupTableBuilder("统计表1",DataTables("订单"))
b.Groups.AddDef(
"产品")
b.Totals.AddDef(
"数量")
With
e.Form.Controls("DataList1")
    .
DataTable = b.Build(True) '注意参数必须设为True
    .Build()

End
With


示例二


在DataList中以交叉表的形式显示每个客户订购不同产品的销售额:


Dim
b As New CrossTableBuilder("统计表1",DataTables("订单"))
b.HGroups.AddDef(
"客户")
b.VGroups.AddDef(
"产品","产品_{0}")
b.Totals.AddDef(
"数量")
With
e.Form.Controls("DataList1")
    .
DataTable = b.Build(True)
    .Build()

End
With

 

 


[本帖被加为精华]
 回到顶部