您的位置:知识库 » .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 6:FormView ItemTemplate中格式化UnitsInStockLabel Label

最后一步就是要在ItemTemplate设置UnitsInStockLabel的样式为红色字体,在ItemTempelete中查找控件可以使用FindControl(“controlID”)方法

WebControlType someName = (WebControlType)FormViewID.FindControl("controlID");

 

对于我们这个例子我们可以用如下代码来查找该Label控件

Label unitsInStock = (Label)LowStockedProductsInRed.FindControl("UnitsInStockLabel");

 

当我们找到这个控件时则可以修改其对应的style属性,在style.css中已经有一个写好的LowUnitsInStockEmphasiscSS Class ,我们通过下面的代码将cSS Class设置到对应的属性

    protected void LowStockedProductsInRed_DataBound(object sender, EventArgs e)

    {

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

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

        if (!product.IsUnitsInStockNull() && product.UnitsInStock <= 10)

        {

            Label unitsInStock = (Label)LowStockedProductsInRed.FindControl("UnitsInStockLabel");

 

            if (unitsInStock != null)

            {

                unitsInStock.CssClass = "LowUnitsInStockEmphasis";

            }

        }

    }

注意: 这种方式在FormViewGridView中也可以通过设置TemplateFields来达到同样的效果,我们将在下一篇中讨论TemplateFields

7显示FormView在当UnitsInStock大于10的情况,图8则显示小于等于10的情况


7 : 在高于10的情况下,没有值被格式化

8:小于等于10时,值用红色字体显示

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻