2013-07-29 130 views
2

列名我有「GridView1」和「LABEL1」是這樣的:如何獲取單元格的值,如果我知道的GridView

ID___________NAME___________SELECT 

1 --------- NAME1 --------- button 

2 --------- NAME2 --------- button 

3 --------- NAME3 --------- button 

4 --------- NAME4 --------- button 

lable1 = null 

如果我打在SELECT列的任意按鍵,我想顯示的標識我選擇了label1的人,例如,如果我點擊第一行的按鈕,它應顯示:

label1: You have selected people with ID = 1 

我該怎麼做?

+0

與回發或不回發? –

+0

@RameezAhmedSayad:說回帖。 –

+0

@RonaldinhoState你能告訴我們你如何處理按鈕點擊事件? –

回答

4

您可以使用下面的源代碼

<asp:ImageButton ID="btnConfirm" runat="server" CommandArgument='<%# Container.DataItemIndex %>' OnClick="btnConfirm_Click" /> 

這個CS代碼


protected void btnHClear_Click(object sender, ImageClickEventArgs e) 
{ 
    label1.Text = GridView1.Rows[Convert.ToInt32(((ImageButton)sender).CommandArgument.ToString())].Cells[1].Text; 
} 

+0

應該是[0],因爲我需要ID列,它只是Button而不是ImageButton。謝謝大家! :)) –

+0

保存的日子:)謝謝 – Si8

3

在GridView的SelectedIndexChanged事件中,你可以得到的ID如下

var id = GridView1.DataKeys[row.RowIndex].Values[0]; 

,但你需要使用的值id現在你可以設置標籤設置DataKeyNames="ID"在aspx頁面

網格視圖標記文本。

Label1.Text = "You have selected people with ID = " +id; 
+0

謝謝!!!!!!!!! –

3

以你的GridView當你表現出改變,正好只有3列表示。

對於具有按鈕的SELECT列,將按鈕的CommandName屬性設置爲Select。

<asp:TemplateField> 
    <ItemTemplate> 
    <asp:Button ID="selectBTN" runat="server" CommandName="Select" /> 
    </ItemTemplate> 
</asp:TemplateField> 

爲GridView設置OnSelectedIndexChanged事件。

<asp:GridView ID="GridView1" DataKeyNames="CustomerID" runat="server"  
     OnSelectedIndexChanged="GridView1_Selected" > 

現在,在事件處理程序設置的標籤值:

protected void GridView1_Selected(object sender, System.EventArgs e) 
     { 
      GridViewRow row = GridView1.SelectedRow; // Get the selected row 
      // Get the Column value, Cells[0] represents first column: ID , 
      //Cells[1] represents second column : NAME, etc... 
      labelName.Text = row.Cells[0].Text; 

     } 
+0

謝謝!!!!!!!!!!!!!!!!!! –

相關問題