2010-12-17 49 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

「私のテーブルには2つの列があります:1 ... 2 ... 3 ... "=)私はちょうどそれが面白いheheを見つける – BeemerGuy

答えて

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 Broそれは本当に助けた –

+0

@ user404305 - 問題ありません。私はあなたの名前を正しく綴りたいと思う=) – BeemerGuy

0

これを行うにはさまざまな方法があります。最も簡単なのは、単一の値だけが必要な場合、返信ボタンのCommandArgumentに値をバインドすることです。次に、ボタンにOnClickハンドラを追加します。 OnClickメソッドでは、CommandArgumentから名前を取得できます。

ローから複数の値が必要な場合は、もう少し作業する必要があります。 index changingのイベントをキャプチャするために、GridViewでイベントハンドラを設定できます。これは、NewSelectedIndexを持ついくつかのイベント引数を提供します。それはどの行が選択されたかを伝えます。データがGridViewにどのようにバインドされているかに応じて、データに再度アクセスして必要な値を取得するか、またはGridView内の列をDataKeyに設定し、そのようにアクセスできます。

1

プロパティに選択されたインデックス変更機能があります。

Captuer選択したインデックスを取得し、その選択したインデックスのセル値を取得します。

その後、もう一度やり直してください。ここで

関連する問題