您的位置:知识库 » .NET技术

ASP.NET 2.0数据教程之九:跨页面的主/从报表

作者: 立冬  来源: 博客园  发布时间: 2008-10-13 11:30  阅读: 4743 次  推荐: 0   原文链接   [收藏]  

系列文章导航:

ASP.NET 2.0数据教程之一:创建一个数据访问层

ASP.NET 2.0数据教程之二:创建一个业务逻辑层

ASP.NET 2.0数据教程之三:母板页和站点导航

ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据

ASP.NET 2.0数据教程之五:声明参数

ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值

ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表

ASP.NET 2.0数据教程之八:使用两个DropDownList过滤的主/从报表

ASP.NET 2.0数据教程之九:跨页面的主/从报表

ASP.NET 2.0数据教程之十:使用 GridView 和DetailView实现的主/从报表

ASP.NET 2.0数据教程之十一:基于数据的自定义格式化

ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField


为ProductsForSupplierDetails.aspx 用户界面应用些小技巧.

要改善该报表的用户体验, 应该给ProductsForSupplierDetails.aspx页面添加点东西. 现在用户从ProductsForSupplierDetails.aspx回到供应商列表页面的唯一方法是单击浏览器的后退按钮. 让我们给ProductsForSupplierDetails.aspx增加一个HyperLink控件, 该控件指向SupplierListMaster.aspx, 这样就给用户提供了另外一个回到供应商列表的方法.


图17: 增加一个HyperLink 控件让用户可以回到SupplierListMaster.aspx

如果用户单击了某个供应商的”查看产品”链接,而该供应商又没有任何产品, ProductsForSupplierDetails.aspx 上的ProductsBySupplierDataSource ObjectDataSource将不会返回任何结果. 绑定到ObjectDataSource的GridView不会呈现任何标记, 在用户的浏览器中显示为空白. 要明确的告诉用户没有与选定供应商关联的产品,我们可以设置GridView的EmptyDataText属性为当出现这种情况是我们想要显示的消息. 我们把它设置为:” 没有这个供应商的产品…”;

默认情况下, Northwinds数据库中所有的供应商提供了至少一个产品. 但是, 在本篇教程中我已经手工修改了产品表, 这样供应商Escargots Nouveaux不再关联任何产品. 图18显示了修改后的供应商Escargots Nouveaux的详细页面.


图18: 提示用户该供应商没有提供任何产品.

总结

主/从报表可以在一个页面上同时显示主记录和明细记录,在很多的网站上, 主/从记录也被分开显示在两个页面上. 在这篇教程中我们看到了如何实现这种报表, 该报表在主页面上用GridView显示供应商列表, 在明细页显示关联的产品列表. 主页面上的每个供应商都包含一个指定明细页面的链接, 并传递 SupplierID值. 这样的特定行的链接使用GridView的HyperLinkField可以很容易实现.

明细页中获取指定供应商的产品是通过调用ProductsBLL类的GetProductsBySupplierID(supplierID)方法实现的. supplierID参数值由查询字符串中指定. 我们同样也看到了如何在明细页中使用FormView显示供应商详细信息

下一篇教程是主/从报表的最后一部分. 我们将会看到如何在GridView中列出产品, GridView中的每行有一个选择按钮. 单击选择按钮会在同一页的DetailsView中显示这个产品的详细信息.

祝编程愉快!

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻