2011-10-03 71 views
1

在Web應用程序中,如何在標題中找到控件,以及如何將這些值動態綁定到這些控件?這是我gridview看起來像...如何在gridview中查找標題控件?

---------------------------------------------- 
      |  October  |  November | 
    product|     |     | 
      | self | Officer | self | officer| 
    ---------------------------------------------- 

這是我的gridview標題。所有的都是標籤,現在我想要找到標籤(十月,noverber,self,officer ..)我怎樣才能動態地將數據綁定到它們上?

我在gridview rowdatabound事件中有以下代碼。

foreach (GridViewRow gr in grdProducts.Rows) 
{ 
    if (e.Row.RowType == DataControlRowType.Header) 
    { 
     Label lM = (Label)gr.FindControl("lblMon1"); 
     lM.Text = month1 + "-" + year1; 
     lM = (Label)gr.FindControl("lblMon2"); 
     lM.Text = month2 + "-" + year2; 
     lM = (Label)gr.FindControl("lblMon3"); 
     lM.Text = month3 + "-" + year3; 
    } 
} 

回答

1

看看這個例子.... @Surya sasidhar

在aspx頁面..我在下面的GridView

<asp:GridView ID="grvGrid" runat="server" AllowPaging="True" 
      AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="CustomerID" OnRowDataBound="grvGrid_RowDataBound"> 
      <Columns> 
       <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" 
        SortExpression="CustomerID" /> 
       <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" 
        SortExpression="CompanyName" /> 
       <asp:TemplateField> 
        <HeaderTemplate> 
         <asp:Label ID="lblMon1" runat="server"></asp:Label> 
        </HeaderTemplate> 
        <ItemTemplate> 
         <asp:Label ID="lblblbl" runat="server"></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

在代碼隱藏頁,我添加了下面的代碼.....

protected void Page_Load(object sender, EventArgs e) 
    { 
     GetTable(); 
     grvGrid.DataSource = dstable; 
     grvGrid.DataBind(); 
    } 



protected void grvGrid_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      Label lblnothing = (Label)e.Row.FindControl("lblMon1"); 
      lblnothing.Text = "November"; 
     } 

    } 

private void GetTable() 
    { 
     dstable.Columns.Add("CustomerID", typeof(int)); 
     dstable.Columns.Add("CompanyName", typeof(string)); 
     // 
     // Here we add five DataRows. 
     // 
     dstable.Rows.Add(25, "Indocin"); 
     dstable.Rows.Add(50, "Enebrel"); 
     dstable.Rows.Add(10, "Hydralazine"); 
     dstable.Rows.Add(21, "Combivent"); 
     dstable.Rows.Add(100, "Dilantin"); 
    } 

下面是結果....

enter image description here

+1

它是在我的環境中工作測試代碼.. – sikender

+0

你好,你有問題...? – sikender

+0

謝謝Sikender它工作正常 –

2

你可以用下面的代碼片段找到它....

protected void gridview__RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      Label lblOctober = (Label)GridView1.FindControl("NameOflabelOctober"); 
      lblOctober.Text = "What Ever you want to give value here(Same thing you can do for rest of four control.... ". 

     } 
    } 
+0

當我把破發點光標不進入對不起Mr.Sikender如果要是條件條件 –

+0

刪除,然後再檢查一遍。 – sikender

+0

對不起先生Sikender雖然它不起作用 –