成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用TemplateField將姓和名顯示在一列中

開發 后端
本文介紹了利用TemplateField將姓和名顯示在一列中的方法。

現在,每一個雇員的姓和名都是分開在兩列中顯示的。把它們放到一個列中顯示出來也許是一個不錯的主意。要做到這一點,我們需要用到TemplateField。我們可以添加一個新的TemplateField,給它加上一些必須的標記語言和數據綁定代碼,然后刪除原來的FirstName和 LastName這兩個BoundField;當然,我們也可以將FirstName這個BoundField直接轉換成一個TemplateField,編輯它以加上LastName的值,然后再刪除LastName這個BoundField。 

兩種辦法都行,不過我個人還是比較喜歡直接轉換的那種,因為這種方式可以自動的添加一個含有Web控件和相應的數據綁定代碼的ItemTemplate和EditItemTemplate,它們可以用來模仿一個BoundField的呈現和功能。這樣做的好處自然是不言而喻的,因為轉換的過程已經幫我們做了很多事情,那我們當然就可以節約不少的時間了。 

要將一個BoundField轉換成TemplateField,我們可以在GridView的智能標簽的彈出菜單中點擊“編輯列”(Edit Columns)。在彈出對話框的左下角的列表中選擇需要轉換的BoundField,然后點擊右下角的“將此列轉換成模板列”(Convert this field into a TemplateField)即可。

在字段對話框中,將一個綁定列轉換成一個模板列 

TemplateField:在字段對話框中,將一個綁定列轉換成一個模板列

讓我們繼續將FirstName這個BoundField轉換成TemplateField。在這個更改之后,設計器中并沒有什么明顯的不同。這是因為將BoundField轉換成TemplateField時,其實是創建了一個維持之前的BoundField的外觀和感覺的TemplateField。盡管在設計器中沒有視覺上的變化,但是這個轉換的過程已經將BoundField的聲明代碼——< asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />——改成了如下所示的TemplateField的聲明代碼: 

  1. < asp:TemplateField HeaderText="FirstName" SortExpression="FirstName">  
  2.     < EditItemTemplate>  
  3.         < asp:TextBox ID="TextBox1" runat="server" Text='< %# Bind("FirstName") %>'>< /asp:TextBox>  
  4.     < /EditItemTemplate>  
  5.     < ItemTemplate>  
  6.         < asp:Label ID="Label1" runat="server" Text='< %# Bind("FirstName") %>'>< /asp:Label>  
  7.     < /ItemTemplate>  
  8. < /asp:TemplateField> 

就像你看到的那樣,TemplateField由兩個模板組成——一個ItemTemplate,它有一個Label控件,其Text屬性被設置為FirstName數據字段的值;還有一個EditItemTemplate,它有一個TextBix控件,其Text屬性也被設置為FirstName數據字段的值。數據綁定語法——

< %# Bind("fieldName") %>——說明數據字段fieldName 被綁定到了這個特定的Web控件的屬性上。

要將LastName添加到TemplateField中,我們需要為ItemTemplate添加一個Label控件并將其Text屬性綁定到LastName上。通過設計器或是手工編寫代碼都可以做到這一點。要手工寫代碼的話,只需簡單的將相應的聲明代碼添加到ItemTemplate中即可,如下所示:

  1. < asp:TemplateField HeaderText="FirstName" SortExpression="FirstName">  
  2.     < EditItemTemplate>  
  3.         < asp:TextBox ID="TextBox1" runat="server" Text='< %# Bind("FirstName") %>'>< /asp:TextBox>  
  4.      < /EditItemTemplate>  
  5.      < ItemTemplate>  
  6.          < asp:Label ID="Label1" runat="server" Text='< %# Bind("FirstName") %>'>< /asp:Label>  
  7.          < asp:Label ID="Label2" runat="server" Text='< %# Bind("LastName") %>'>< /asp:Label>  
  8.      < /ItemTemplate>  
  9.  < /asp:TemplateField> 

要通過設計器來添加的話,還是在GridView的智能標簽的彈出菜單中點擊“編輯列”( Edit Templates)。這樣會顯示GridView的模板編輯界面。在這個界面中,智能標簽是GridView中模板的列表。因為這個時候我們只有一個TemplateField,所以下拉列表中只有FirstName的各種模板和EmptyDataTemplate以及PagerTemplate。如果指定了EmptyDataTemplate模板的話,它將用于綁定到GridView的數據源中沒有任何記錄時的輸出呈現;如果指定了PagerTemplate,它將用于呈現GridView的分頁界面。

GridView的模板列可以通過設計器來編輯 

TemplateField:GridView的模板列可以通過設計器來編輯

要在FirstName模板列中同時顯示LastName,從工具箱中拖一個Label到FirstName模板列的ItemTemplate中即可,當然,這要在GridView的模板編輯界面中才行的,如下圖所示:

向FirstName模板列的ItemTemplate中添加一個Label 

TemplateField:向FirstName模板列的ItemTemplate中添加一個Label

現在,添加到TemplateField的Label控件的Text屬性還是“Label”。我們需要修改這個以使這個屬性綁定到數據源中的LastName字段上。我們可以通過在Label控件的智能標記上點擊一下,然后在彈出菜單中選擇“編輯數據綁定”( Edit DataBindings)選項,如下圖所示:

從Label的智能標簽上選擇Edit DataBindings選項 

TemplateField:從Label的智能標簽上選擇Edit DataBindings選項

在彈出的數據綁定對話框中,你可以在左邊的列表中選擇需要綁定的屬性,然后在右邊的下來框中選擇一個數據字段。好了,我們現在在左邊選擇Text屬性,然后在右邊選擇LastName字段,點擊OK。

將Text屬性綁定到LastName字段上 

TemplateField:將Text屬性綁定到LastName字段上

注意:數據綁定對話框允許你聲明一個雙向的數據綁定。如果你保持“雙向數據綁定” (Two-way databinding)這個復選框為未選中的話,數據綁定的代碼將會是< %# Eval("LastName")%>而不是< %# Bind("LastName")%>。不過,對于本節教程來說,兩個種做法的效果都是OK的。雙向數據綁定在插入和編輯數據的時候將會比較重要。但是如果僅僅是簡單的顯示數據的話,兩種做法都是一樣的。我們將在今后的章節中詳細的討論一下雙向數據綁定。

讓我們再花一些時間到瀏覽器中看看這個頁面。就像你看到的那樣,GridView仍然包含4列,不過,FirstName列里面顯示了姓和名兩個數據。

姓和名顯示在同一列里面了 

TemplateField:姓和名顯示在同一列里面了

要完成這一步,我們先刪除LastName這個綁定列,并將FirstName這個模板列的列頭文本(HeaderText)改成“Name”。在這之后,GridView的聲明代碼將會像下面這樣:

 

  1. < asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"   
  2. DataKeyNames="EmployeeID" 
  3.      DataSourceID="ObjectDataSource1">  
  4.      < Columns>  
  5.          < asp:TemplateField HeaderText="Name" SortExpression="FirstName">  
  6.              < EditItemTemplate>  
  7.                  < asp:TextBox ID="TextBox1" runat="server" Text='< %# Bind("FirstName") %>'>  
  8. < /asp:TextBox>  
  9.              < /EditItemTemplate>  
  10.              < ItemTemplate>  
  11.                  < asp:Label ID="Label1" runat="server" Text='< %# Bind("FirstName") %>'>< /asp:Label>  
  12.                 < asp:Label ID="Label2" runat="server" Text='< %# Eval("LastName") %>'>< /asp:Label>  
  13.             < /ItemTemplate>  
  14.         < /asp:TemplateField>  
  15.         < asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />  
  16.         < asp:BoundField DataField="HireDate" HeaderText="HireDate" SortExpression="HireDate" />  
  17.     < /Columns>  
  18. < /asp:GridView> 

每一個雇員的姓和名都顯示在同一列里面了 

TemplateField:每一個雇員的姓和名都顯示在同一列里面了

【編輯推薦】

  1. 使用ASP.NET DetailsView顯示詳細信息
  2. 熟悉DropDownList和ObjectDataSource的配合使用
  3. ASP.NET DropDownList的創建與填充
  4. 使用ASP.NET中的GridView和ObjectDataSource
  5. ASP.NET DropDownList使用范例
責任編輯:book05 來源: 博客園
相關推薦

2009-07-28 08:55:56

TemplateFie

2015-07-20 17:17:41

SQL Server

2010-10-27 13:16:41

oracle并行查詢

2021-01-21 15:44:03

vlookup函數數據區域Match函數

2010-09-10 13:37:59

SQLCOUNT()函數

2016-12-16 19:13:33

擴展性數據庫

2010-09-28 09:49:48

SQL字符串

2009-04-09 15:40:01

JSONJavaScript枚舉

2024-06-20 08:03:35

MySQL數據表版本

2009-02-05 17:25:46

虛擬化

2010-07-12 09:14:32

云計算百姓

2010-03-29 13:19:10

OracleMulti

2019-07-05 18:06:18

ffsendFirefox SenLinux

2021-12-22 09:01:23

PythonExcelPython基礎

2009-05-26 12:23:56

Linux變量文件命名

2016-11-22 09:15:54

2012-04-22 20:54:33

Android

2012-05-05 08:58:16

Android

2015-05-06 14:23:55

2011-07-12 13:01:11

ExcelOracleSql Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区亚洲 | 亚洲欧洲国产视频 | 毛片韩国 | 日韩欧美一区二区三区免费观看 | 日本一区二区三区视频在线 | 黄网站色大毛片 | 亚洲激精日韩激精欧美精品 | 色偷偷噜噜噜亚洲男人 | 日日操日日干 | 精品久久香蕉国产线看观看亚洲 | 国产精品毛片无码 | 亚洲一区二区 | 亚洲激情综合 | 日韩免费1区二区电影 | 狠狠操电影 | 精品久久不卡 | 另类在线| 国产不卡在线观看 | 日本 欧美 国产 | 国产成人精品一区二区三区网站观看 | 久久久久久久久91 | 日本人爽p大片免费看 | 国产在线精品一区二区三区 | 国产激情一区二区三区 | 中文字幕视频在线观看免费 | 久久久日韩精品一区二区三区 | 久久久夜| 国产精品免费观看视频 | 国产一区久久 | 日韩精品一区二区三区中文在线 | 成人黄色三级毛片 | 日韩成人在线网站 | 在线观看a视频 | 国产精品福利在线 | 久久久久成人精品 | 国产精品二区三区 | 亚洲狠狠爱 | 欧美xxxx网站| 性色在线| 国产精品一区二区三区久久久 | 在线观看毛片网站 |