在ItemTemplate中格式化UnitsInStockLabel Label
创始人
2024-04-21 06:50:43
0

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

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

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

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

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

  1. protected void LowStockedProductsInRed_DataBound(object sender, EventArgs e)  
  2.  
  3.     {  
  4.  
  5.         // Get the ProductsRow object from the DataItem property...  
  6.  
  7.         Northwind.ProductsRow product = (Northwind.ProductsRow)((System.Data.DataRowView)LowStockedProductsInRed.DataItem).Row;  
  8.  
  9.         if (!product.IsUnitsInStockNull() && product.UnitsInStock < = 10)  
  10.  
  11.         {  
  12.  
  13.             Label unitsInStock = (Label)LowStockedProductsInRed.FindControl("UnitsInStockLabel");  
  14.  
  15.    
  16.  
  17.             if (unitsInStock != null)  
  18.  
  19.             {  
  20.  
  21.                 unitsInStock.CssClass = "LowUnitsInStockEmphasis";  
  22.  
  23.             }  
  24.  
  25.         }  
  26.  
  27.     }  
  28.  

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

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

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

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

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

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

用GridView的 RowDataBound 事件自定义格式化

前面我们讨论了在FormView和DetailsView中实现数据绑定的步骤,现在让我们回顾下

1.DataBinding事件触发

2.数据绑定到数据绑定控件

3.DataBound事件触发

对于FormView和DetailsView有效因为只需要显示一个数据,而在GridView中,则要显示所有数据,相对于前面三个步骤,步骤二有些不同

在步骤二中,GridView 列出所有的数据,对于某一个记录将创建一个GridViewRow 实例并绑定,对于每个添加到GridView 中的 GridViewRow两个事件将会触发:

· RowCreated – 当GridViewRow被创建时触发

·RowDataBound – 当前记录绑定到GridViewRow时触发.

对于GridView,请使用下面的步骤

1.DataBinding事件触发

2.数据绑定到数据绑定控件

对于每一行数据..

a. 创建GridViewRow

b. 触发 RowCreated 事件

c.绑定数据到GridViewRow

d. 触发RowDataBound事件

e. 添加GridViewRow到Rows 集合

DataBound事件触发

为了自定义格式化GridView单独记录,我们需要为RowDataBound事件创建事件处理,让我们添加一个GridView到CustomColors.aspx中,并显示name, category, 和 price,用黄色背景高亮那些价格小于$10.00的产品

【编辑推荐】

  1. ASP.NET 2.0数据教程:SelectMethod属性的使用
  2. ASP.NET 2.0数据教程:在业务逻辑层添加方法
  3. ASP.NET 2.0数据教程:为TableAdapter添加方法
  4. ASP.NET 2.0数据教程:使用一个硬编码参数值
  5. ASP.NET 2.0数据教程:绑定到ObjectDataSource

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...