ASP.NET 2.0数据教程之十五:在GridView的页脚中显示统计信息
CSS类分配给此GridView 的FooterStyle的CssClass属性。如果你需要复习一下皮肤和主题的相关内容,请 参考“使用ObjectDataSource显示数据”。
先给Styles.css添 加以下的CSS类:
FooterStyle这个CSS类跟HeaderStyle类是一样的 ,只是HeaderStyle的背景色要深一点且文本是粗体显示的而已。此外,页脚的文 本是右对齐的,而页眉的文本是居中的。 然后,为了将这个CSS类关联到 每一个GridView的页脚上,在DataWebControls主题中打开GridView.skin文件并 设置FooterStyle的CssClass属性。作了这个添加之后,文件的标记代码应该是这 个样子:
就像下面这个屏幕截图所显示的那样 ,这个更改使页脚清晰的显示出来了。 图十二:GridView的页脚现在有了一个红红的背景色 第三步: 计算统计数据 在显示了GridView的页脚之后,下一个面对我们的挑战就 是如何计算统计数据。有两个计算统计信息的途径: 1.通过一个 SQL查询——我们可以向数据库发出一个额外的查询来为某个特定的类 别计算统计信息。SQL包含一系列的聚合函数,并由GROUP BY子句指定应该根据什 么数据来进行统计。下面的SQL查询将会返回我们所需要的信息:
当然,你也可能不喜欢 直接在SummaryDataInFooter.aspx页面中直接执行这个查询,而是希望在 ProductsTableAdapter 和ProductsBLL 中创建一个方法来干这个事情。 2.由于这些信息已经添加到GridView中了,所以可以直接计算 ——就像在“基于数据的自定义格式化”中讨论的那样, 在GridView的数据绑定之后,GridView的RowDataBound事件处理方法会在添加每 一行数据时被执行一次。为这个事件创建了事件处理方法之后,我们就可以保持 一个累积的合计值了。在最后一行数据被绑定到DataGrid上之后,我们就有了一 个合计值以及需要计算平均值的信息了。 一般来说,我还是喜欢第二种方 法的,因为它节省了一次到数据库的往返,而且要达到这个效果还需要在数据访 问层和业务逻辑层中实现统计功能,不过话说回来了,其实两种办法都行的。在 这本教程中,我们还是使用第二个办法吧,并使用RowDataBound事件处理方法来 记录这个累积合计。 给GridView新建一个RowDataBound事件处理方法,你 可以在设计器中选择GridView,然后在属性窗口中点击那个带闪电符号的图标, 找到RowDataBound事件并双击它就可以了。这样就会在 SummaryDataInFooter.aspx页面的后置代码类中添加一个新的名为 ProductsInCategory_RowDataBound的事件处理方法了。
为 了可以维护一个累积合计,我们需要在这个事件处理方法的外面定义一些变量。 创建以下4个页面级的变量: · _totalUnitPrice,类型 为decimal · _totalNonNullUnitPriceCount,类型为 int · _totalUnitsInStoc |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |