ASP.NET 2.0數據教程之十二:在GridView控件中使用TemplateField

作者: 電機拖動  來源: 博客園  發布時間: 2008-10-16 10:22  閱讀: 12409 次  推薦: 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

 

導言

GridView是由一組字段(Field)組成的,它們都指定的了來自DataSource中的什么屬性需要用到自己的輸出呈現中。最簡單的字段類型是BoundField,它僅將數據簡單的顯示為文本。其他的字段類型使用交互HTML元素(alternate HTML elements)來顯示數據。比如說,CheckBoxField將被呈現為一個CheckBox,其選中狀態由某特定數據字段的值來決定;ImageField則將某特定數據字段呈現為一個圖片,當然,這個數據字段中應該放的是圖片類型的數據。超級鏈接和按鈕的狀態取決于使用HyperLinkField或ButtonField字段類型的數據字段的值。

 

雖然CheckBoxField、ImageField、HyperLinkField和ButtonField考慮到了數據的交互視圖,但它們仍然有一些相關的格式化的限制。CheckBoxField只可以顯示為一個單個的CheckBox,而一個ImageField則只可以顯示為一張圖片。如果某個字段要顯示一些文本、復選框、圖片還有一些其他基于不同數據的東西的時候,我們要做什么?或者說,如果我們需要使用除了CheckBox、Image、HyperLink以及Button之外的Web控件來顯示數據時,我們該怎么辦?此外,BoundField只能顯示一個單獨的數據字段。如果我們想要在一個GridView列中顯示兩個或者更多的數據字段的值的時候該怎么辦呢?

 

為了適應這樣的一個復雜的情況,GridView提供了使用模板來進行呈現的TemplateField。模板可以包括靜態的HTML、Web控件以及數據綁定的代碼。此外,TemplateField還擁有各種可以用于不同情況的頁面呈現的模板。比如說,ItemTemplate是默認的用于呈現每行中的單元格的,而EditItemTemplate則用于編輯數據時的自定義界面。

 

在本節教程中,我們將解釋如何使用TemplateField來更加高級的自定義GridView控件。在上一節教程中,我們看到了如何使用DataBound和RowDataBound事件處理方法來自定義基于數據的格式化。另一個辦法就是在模板中調用一個格式化方法。在本節中,我們就會看到這種技術。

 

在本節中,我們將使用一些TemplateField來自定義雇員信息的呈現。特別的,我們將列出所有的雇員,但我們將會把雇員的姓和名字放在一列中,把他們的雇傭日期放在一個Calendar控件中,還將用一個狀態列來表明他們來到公司有多久了。

 

圖一:使用三個TemplateField來自定義信息的顯示方式

 

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()