2

通常の値だけを使用すると、次のように記述できます

  protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
    GridViewRow email = GridView1.SelectedRow;
    txtbox.Text = email.Cells[5].Text;

}

ただし、そのテキスト ボックスに、グリッドビューのテキスト ボックス コントロールである値を入力したいと考えています。行のリストがあり、選択した行に応じて、そのテキストボックスにそのコントロール値が入力されます。ヘルプ/アドバイスをいただければ幸いです。

4

4 に答える 4

1

以下のコードを試してください。

TextBox tb = GridView1.SelectedRow.FindControl("textboxId") as TextBox;
textbox.Text = tb.Text;
于 2012-04-30T13:54:55.307 に答える
1

これを試して:

GridView1.RowCommand += GridView1_RowCommand;
private void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
        if (e.CommandName == "Select")
        {
            int index = Convert.ToInt32(Convert.ToString(e.CommandArgument));
            GridViewRow row = GridView1.Rows[index];
            this.NameTextBox.Text = Server.HtmlDecode(row.Cells[1].Text);

        }

}
于 2012-04-30T13:54:55.943 に答える
1

これにはデータキーを使用することをお勧めします。セル インデックスを使用するよりもはるかに簡単で信頼性が高くなります。

<asp:GridView ID="Gridview1" runat="server" DataKeyNames="Column1, Column2" ...>

次に、分離コードで次のように値にアクセスできます。

protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
    GridViewRow email = GridView1.SelectedRow;
    txtbox.Text = (string)GridView1.DataKeys[email.RowIndex]["Column1"];    
}
于 2012-04-30T14:10:40.867 に答える