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

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

作者: 立冬  来源: 博客园  发布时间: 2008-10-13 11:30  阅读: 4806 次  推荐: 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


 

HyperLinkField可以被配置为在每一个GridView行中使用相同的文本或URL值,或是让这些值基于绑定到特定行的数据值. 要指定一个所有行都一样的静态值使用HyperLinkField的Text或NavigateUrl属性. 因为我们想让每一行的链接文本一致,设置HyperLinkField的Text属性为”查看产品”.


图5: 设置HyperLinkField的Text属性为”查看产品”

要让text 或URL基于绑定到GridView行的底层数据, 可能通过DataTextField 或 DataNavigateUrlFields指定Text或URL要从中获取数据的数据字段. DataTextField只能设置为一个单一的数据字段; DataNavigateUrlFields可以设置为一个以逗号分隔的数据字段列表. 我们需要让TEXT或URL基于当前行的数据字段值和一些标记. 比如在这篇教程中,我们希望 HyperLinkField的链接URL是ProductsForSupplierDetails.aspx?SupplierID=supplierID. 其中supplierID是GridView的每个行的supplierID值. 注意我们需要静态值和数据驱动值. ProductsForSupplierDetails.aspx?SupplierID=这部分是静态值.而supplierID部分便是数据驱动的, 它的值是每一行的SupplierID值.

要指定静态值和数据驱动值的混合物, 使用DataTextFormatString和DataNavigateUrlFormatString属性. 在这些属性中按需要输入静态文本,要显示DataTextField或DataNavigateUrlFields属性中特定的字段时使用{0}标记. 如果DataNavigateUrlFields中有多个字段,在需要第一个字段时使用{0}, 第二个字段使用{1},以此类推.

对于我们这篇教程来说, 我们需要设置DataNavigateUrlFields为SupplierID, 因为我们需要使用该数据字段自定义每行的链接.


图6: 配置HyperLinkField 使用合适的基于SupplierID 的链接地址.

添加了HyperLinkField后, 可以自定义及重新排列GridView的字段. 下面是我做了修改后的标记 (markup):

 

在浏览器中访问一下SupplierListMaster.aspx. 如图7所示, 页面列出了所有的供应商,每个供应商包含”查看产品”链接. 单击”查看产品”链接会转到ProductsForSupplierDetails.aspx, 并在查询字符串中传递供应商的SupplierID值.


图 7: 每个供应商都包含”查看产品”链接.

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻