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

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

作者: xwang  来源: 博客园  发布时间: 2008-10-14 13:52  阅读: 5087 次  推荐: 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


Step 9:用黄色高亮那些UnitPrice小于$10.00的行

我们需要访问GridViewID.Rows[index]来访问index对应的那一行,GridViewID.Rows[index].Cells[index]来访问某一单元格.然而当RowDataBound事件触发时,GridViewRow却没有添加到Rows集合中, 因此我们不能在RowDataBound事件处理中通过当前GridViewRow实例

取而代之,我们可以通过e.Row来访问。为了高亮某一行我们用下面的代码

e.Row.BackColor = System.Drawing.Color.Yellow;

我们还可以通过cSSClass取得同样的效果(推荐)

    protected void HighlightCheapProducts_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        // Make sure we are working with a DataRow

        if (e.Row.RowType == DataControlRowType.DataRow)

        {

            // Get the ProductsRow object from the DataItem property...

            Northwind.ProductsRow product = (Northwind.ProductsRow)((System.Data.DataRowView)e.Row.DataItem).Row;

            if (!product.IsUnitPriceNull() && product.UnitPrice < 10m)

            {

                e.Row.CssClass = "AffordablePriceEmphasis";

            }

        }

    }


图 11: 所需要的行用高亮黄色显示

总结

在本篇中我们演示了基于数据绑定来自定义格式化GridView, DetailsView, FormView的方法。为了完成这些,我们创建DataBound或者RowDataBound事件,为了访问DetailsViewFormView的数据绑定,我们可以通过DataItem属性。对于GridView,每个GridViewRow实例的DataItem属性包含了绑定的数据(RowDataBound事件处理中可用)

为了调整格式,我们可能需要访问某一特定的行,在GridViewDetailsView中我们可以通过索引访问,而在FormView中我们则需要用FindControl("controlID"),同时FindControl("controlID")通常都可以访问Web控件Tempelete中的某个控件

在下一篇中我们将讨论如何在GridViewDetailsView使用Tempeletes, 还将讨论另外一些自定义格式化的方法

祝编程快乐!

作者简介

Scott Mitchell,著有六本ASP/ASP.NET方面的书,是4GuysFromRolla.com的创始人,自1998年以来一直应用 微软Web技术。Scott是个独立的技术咨询顾问,培训师,作家,最近完成了将由Sams出版社出版的新作,24小时内精通ASP.NET 2.0。他的联系电邮为mitchell@4guysfromrolla.com,也可以通过他的博客http://ScottOnWriting.NET与他联系。

 

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻