Domanda

Come posso mettere una riga gridview in modalità modifica a livello di codice?

È stato utile?

Soluzione

Imposta la proprietà EditIndex sulla riga appropriata, quindi collega nuovamente GridVIew alla sua origine dati.

Spero che questo aiuti.

Altri suggerimenti

Basta implementare l'evento Row_Editing e fare qualcosa del genere:

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

I dati di bind popoleranno GridView con i dati.

Potrebbe anche essere necessario sapere come annullare la modifica. Proprio come hai impostato " OnRowEditing " nel comando gridview, devi impostare " OnRowCancelingEdit " comando. Il backend dovrebbe assomigliare a questo. (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;
}

Testato con vs-2008. forcella bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top