私は視覚的な stdio 2008 に取り組んでおり、私のデータベースは sql server 2005 にあります 私のテーブルには3つの列があります 1.送信者名 2.受信者名 3.メッセージ このテーブルを GridView に表示し、返信という名前のボタンを追加しました だから私のグリッドビューはこのようなものです 送信者名|受信者名| メッセージ|返信ボタン 今、これが私がやりたいことです My gridView でボタンをクリックすると、その特定の行のデータを取得する必要があります つまり、返信できるように送信者の名前を教えてください。 誰でも助けることができますか????
2915 次
3 に答える
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);
}
于 2010-12-17T06:44:55.270 に答える
1
プロパティに選択されたインデックス変更機能があります。
選択したインデックスをキャプチャし、その選択したインデックスのセル値を取得します。
その後、好きなように続けてください。
于 2010-12-17T06:30:00.863 に答える
0
これにはさまざまな方法があります。値が 1 つだけ必要な場合は、その値を [返信] ボタンの CommandArgument にバインドするのが最も簡単です。次に、OnClick ハンドラーをボタンに追加します。次に、OnClickメソッドで、CommandArgument から名前を取得できます。
行から複数の値が必要な場合は、もう少し作業を行う必要があります。GridView でイベント ハンドラーをセットアップして、インデックス変更のイベントをキャプチャできます。これにより、NewSelectedIndex を持ついくつかのイベント引数が提供されます。これにより、どの行が選択されたかがわかります。データが GridView にバインドされている方法に応じて、データに再度アクセスして必要な値を取得したり、GridView で列をDataKeyに設定してその方法でアクセスしたりできます。
于 2010-12-17T06:27:14.730 に答える