在ItemTemplate中格式化UnitsInStockLabel Label
最后一步就是要在ItemTemplate中設(shè)置UnitsInStockLabel的樣式為紅色字體,在ItemTempelete中查找控件可以使用FindControl(“controlID”)方法
- WebControlType someName = (WebControlType)FormViewID.FindControl("controlID");
對于我們這個例子我們可以用如下代碼來查找該Label控件
- Label unitsInStock = (Label)LowStockedProductsInRed.FindControl("UnitsInStockLabel");
當我們找到這個控件時則可以修改其對應(yīng)的style屬性,在style.css中已經(jīng)有一個寫好的LowUnitsInStockEmphasis的cSS Class ,我們通過下面的代碼將cSS Class設(shè)置到對應(yīng)的屬性
- 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";
- }
- }
- }
注意: 這種方式在FormView和GridView中也可以通過設(shè)置TemplateFields來達到同樣的效果,我們將在下一篇中討論TemplateFields
圖7顯示FormView在當UnitsInStock大于10的情況,圖8則顯示小于等于10的情況
ItemTemplate: 在高于10的情況下,沒有值被格式化
ItemTemplate:小于等于10時,值用紅色字體顯示
用GridView的 RowDataBound 事件自定義格式化
前面我們討論了在FormView和DetailsView中實現(xiàn)數(shù)據(jù)綁定的步驟,現(xiàn)在讓我們回顧下
1.DataBinding事件觸發(fā)
2.數(shù)據(jù)綁定到數(shù)據(jù)綁定控件
3.DataBound事件觸發(fā)
對于FormView和DetailsView有效因為只需要顯示一個數(shù)據(jù),而在GridView中,則要顯示所有數(shù)據(jù),相對于前面三個步驟,步驟二有些不同
在步驟二中,GridView 列出所有的數(shù)據(jù),對于某一個記錄將創(chuàng)建一個GridViewRow 實例并綁定,對于每個添加到GridView 中的 GridViewRow兩個事件將會觸發(fā):
· RowCreated – 當GridViewRow被創(chuàng)建時觸發(fā)
·RowDataBound – 當前記錄綁定到GridViewRow時觸發(fā).
對于GridView,請使用下面的步驟
1.DataBinding事件觸發(fā)
2.數(shù)據(jù)綁定到數(shù)據(jù)綁定控件
對于每一行數(shù)據(jù)..
a. 創(chuàng)建GridViewRow
b. 觸發(fā) RowCreated 事件
c.綁定數(shù)據(jù)到GridViewRow
d. 觸發(fā)RowDataBound事件
e. 添加GridViewRow到Rows 集合
DataBound事件觸發(fā)
為了自定義格式化GridView單獨記錄,我們需要為RowDataBound事件創(chuàng)建事件處理,讓我們添加一個GridView到CustomColors.aspx中,并顯示name, category, 和 price,用黃色背景高亮那些價格小于$10.00的產(chǎn)品
【編輯推薦】