程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> GridView中利用隱藏的TemplateFied來進行數據訪問

GridView中利用隱藏的TemplateFied來進行數據訪問

編輯:.NET實例教程

  在上一個學習隨筆中我們可以利用DataKeyNames和DataKeys來進行GridView主鍵列的數據訪問, 在後來試驗中,我發現我們可以利用TemplateFIEld來實現其他的數據訪問.

<ASP:TemplateFIEld Visible="False">
     <ItemTemplate>
          <ASP:Literal id="litUserName" runat="Server" Text='<%#Eval("UserName")%>'/>
     </ItemTemplate>
</ASP:TemplateFIEld>

//後台實現

String userName = ((Literal)GridVIEw1.SelectedRow.FindControl("litUserName")).Text;     
     GridView的AutoGenerateSelectButton屬性可以直接使表格實現選擇,  如果不想多增加一列選擇列, 我們可以利用TemplateField實現GridVIEw的選擇.

ASP.Net代碼如下:

<ASP:BoundField DataFIEld="ObjectID" HeaderText="ID"/>
<ASP:TemplateFIEld>
    <HeaderTemplate>
         Name
    </HeaderTemplate>
    <ItemTemplate>
         <ASP:LinkButton id="lbName" runat="Server" CommandName="Select">
            <%#Eval("Name")%>
         </ASP:LinkButton>
    </ItemTemplate>
</ASP:TemplateFIEld>
<ASP:BoundField DataFIEld="Status" HeaderText="Status"/>
同時要給GridVIEw增加兩個事件處理RowCreated, RowCommand
//RowCreated事件處理
void GridView1_RowCreated(object sender, GridVIEwRowEventArgs e)
{
            if (e.Row.RowType == DataControlRowType.DataRow)
            {                ((LinkButton)e.Row.FindControl("lbName")).CommandArgument = e.Row.RowIndex.ToString();
            }
}
//RowCommand事件處理
void GridView1_RowCommand(object source, System.Web.UI.WebControls.GridVIEwCommandEventArgs e)
{
     GridVIEw1.SelectedIndex = int.Parse(e.CommandArgument.ToString());
}

這樣在點擊名稱時就可以同時進行選擇,不必再利用選擇列.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved