2010-12-17 59 views
1
 
i am working on visual stdio 2008 and my database is in sql server 2005 
MY table has three columns 
1. SenderName 
2. RecieverName 
3. Message 

i have displayed this table in GridView and add a button named as Reply 
so my grid view look's some what like this 

SenderName|RecieverName| MessAge|REPLY BUTTON 

now this what i want to do 
when Button is Clicked in My gridView i need to get data of that specific row 
i.e Sender's NAme so that i can Reply him/her ? 

can any one help???? 
+1

「我的表有兩列:1 ... 2 ... 3 ... 「=)我只是覺得它有趣嘿嘿 – BeemerGuy 2010-12-17 06:23:43

回答

2

這裏有一個例子:

標記:

<asp:GridView 
    runat="server" 
    ID="gvEmails" 
    OnSelectedIndexChanged="gvEmails_SelectedIndexChanged">    
    <Columns> 
     <asp:ButtonField CommandName="Select" ButtonType="Button" Text="Send" /> 
    </Columns> 
</asp:GridView> 

代碼隱藏:

protected void Page_Load(object sender, EventArgs e) 
{ 
    DataTable dt = new DataTable(); 
    dt.Columns.Add("SenderName"); 
    dt.Columns.Add("ReceiverName"); 
    dt.Columns.Add("Message"); 

    DataRow dr; 

    dr = dt.NewRow(); 
    dr["SenderName"] = "John Doe"; 
    dr["ReceiverName"] = "Jane Doe"; 
    dr["Message"] = "Hi, Jane."; 
    dt.Rows.Add(dr); 

    dr = dt.NewRow(); 
    dr["SenderName"] = "Michelle Smith"; 
    dr["ReceiverName"] = "Mike Smith"; 
    dr["Message"] = "Yo, Mike."; 
    dt.Rows.Add(dr); 

    gvEmails.DataSource = dt; 
    gvEmails.DataBind(); 
} 

protected void gvEmails_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    GridViewRow row = gvEmails.SelectedRow; 

    Response.Write("Send email to " + row.Cells[1].Text); 
} 
+0

Thanxx兄弟它真的幫助 – 2010-12-17 07:01:46

+0

@ user404305 - 沒問題。我希望我把你的名字拼寫成正確的=) – BeemerGuy 2010-12-17 07:02:58

0

有很多不同的方法來做到這一點。最簡單的,如果你只需要一個值,就是將值綁定到你的Reply按鈕的CommandArgument。然後添加一個OnClick處理程序到您的按鈕。然後在OnClick方法中,您可以從CommandArgument中獲取名稱。

如果您需要的行數不止一個值,您需要做更多的工作。您可以在GridView上設置一個事件處理程序來捕獲index changing的事件。這將提供一些具有NewSelectedIndex的事件參數。這將告訴你選擇了哪一行。根據數據綁定到GridView的方式,可以再次訪問數據以獲取所需的值,也可以將GridView中的列設置爲DataKey並以這種方式訪問​​它們。

1

在屬性中有一個選定的索引更改函數。

捕獲所選索引並獲取所選索引的單元格值。

然後繼續你想要的。