Question

How do I put a gridview row in edit mode programmatically?

Was it helpful?

Solution

Set the EditIndex property to the appropriate row and then ReBind the GridVIew again to it's DataSource.

Hope this helps.

OTHER TIPS

Just implement the Row_Editing event and do something like this:

protected void Row_Editing(object sender, GridViewEditArgs e) 
{
  myGridView.EditItemIndex = e.EditItemIndex; 
  BindData(); 
}

Bind data will populate the GridView with the data.

You may also need to know how to cancel the edit. Just like you set up the "OnRowEditing" command in the gridview, you need to set up the "OnRowCancelingEdit" command. The backend should look similar to this. (VB)

Sub gridView1_rowCanceling(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
    gridView1.EditIndex = -1
    BindData()  // <-- Whatever procedure you use to bind your data to the gridView
End Sub
protected void gridview_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView gv = (GridView)sender;
    // Change the row state
    gv.Rows[e.NewEditIndex].RowState = DataControlRowState.Edit;           
}
protected void btnEdit_Click(object sender, EventArgs e)
{
    GridView1.EditIndex = 1;
}

Tested with vs-2008. fork fine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top