Passing gridview row data to textboxes on selection of gridview row

1.2k Views Asked by At

I can't seem to make data from my gridview pass to textboxes outside of my gridview on row selection. The event seems to be firing, but the textboxes are always filled with & nbsp;. I can't figure out why this is happening since none of the cells in the gridview are blank. I have been researching this problem for a few days, on this site and other sites, with no luck. Here is the piece of my aspx.cs:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    txtBLName.Text = GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text;
}

Here is my gridview code:

<asp:GridView ID="GridView1"
    runat="server"
    AutoGenerateColumns="False"
    onselectedindexchanged="GridView1_SelectedIndexChanged" >
    <Columns>
        <asp:CommandField ShowSelectButton="true" SelectText="Edit" />
        <asp:BoundField DataField="LastName" HeaderText="Last Name" SortExpression="LastName"/>
     </Columns>
</asp:GridView>

Can someone please help? Thanks!

1

There are 1 best solutions below

3
On

It's Working

ASP CODE

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
 <asp:GridView ID="GridView2"
runat="server"
AutoGenerateColumns="False"
onselectedindexchanged="GridView2_SelectedIndexChanged" >
<Columns>
    <asp:CommandField ShowSelectButton="true" SelectText="Edit" />
    <asp:BoundField DataField="LastName" HeaderText="Last Name" SortExpression="LastName"/>
 </Columns>

C# CODE

protected void Page_Load(object sender, EventArgs e)
{

    DataTable oDT = new DataTable();

    oDT.Columns.Add("edit",typeof(string));
    oDT.Columns.Add("LastName", typeof(string));

    oDT.Rows.Add("ad", "1212121");
    oDT.Rows.Add("aad", "1asdasd212121");

    GridView2.DataSource = oDT;
    GridView2.DataBind();      

}

protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = GridView2.SelectedRow;
    TextBox1.Text = row.Cells[1].Text;
}

RESULT

enter image description here