33 messaggi dal 25 settembre 2002
Ciao a tutti.
E' possibile modificare il valore di una cella di una gridview passandogli a codice il valore?
Cerco di spiegare meglio il problema:
-Creo la mia Gridview (che chiamo gridview1)
-abilito l'edit
-quando clicco sul bottone edit devo passare il valore alla cella 6 della riga in edit e uscire aggiornando la gridview e il db

Ho scritto il seguente codice:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
String DataRest = this.GridView1.Rows[e.NewEditIndex].Cells[6].Text;
this.Label1.Text = DataRest;
this.Label1.Visible = true;

// For this example, cancel the edit operation if the user attempts
// to edit the record of a customer from the Unites States.
if (DataRest != "")
{
// Cancel the edit operation.
e.Cancel = true;
this.Label1.Text = "Oggetto già restituito!";
}
else
{
//se il campo è vuoto, lo imposto a oggi
DataRest = System.DateTime.Today.ToShortDateString();
//aggiorno la cella della gridview (almeno così credevo)
this.GridView1.Rows[e.NewEditIndex].Cells[6].Text = DataRest;
//visualizzo un testo per verificare che tutto è ok
this.Label1.Text = DataRest;
// e quì dovrei fare l'update, ma non so come farlo
return;
}

}

Ho letto su MSDN che devo agire su DataKeyNames, oldvalues e newvalues, ma non ho capito come.

Qualcuno può spiegarmi come?

Grazie.
il tuo GridView è associato ad un SqlDataSorce, ObjectDataSorce (o simile) utilizzando la proprietà DataSorceID? o altro.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 25 settembre 2002
Si, è associato ad un SqlDataSource ed ha come SourceID SqlDataSourceRestituzione.
Modificato da swarovsky il 06 dicembre 2006 13.13 -
mi sono venute altre domande mentre rileggevo il tuo post, soprattuto perche vuoi fare l'update quando vai un edit?

prova a spiegare meglio cosa vuoi fare di preciso

probabilmente questa riga di codice:


this.GridView1.Rows[e.NewEditIndex].Cells[6].Text = DataRest; 



non funziona perche in modalità di edit viene visualizzata una TextBox dovresti recuperare il riferimento a questa e impostare la proprietà Text

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 25 settembre 2002
Provo a spiegarmi meglio.

Ho una grid view dove voglio aggiornare il campo DataRest con la data odierna, attraverso un bottone posto sulla riga che voglio modificare.

Volevo utilizzare il bottone di edit di modo da impostare la data odierna in quella cella, ma dare la possibilità all'operatore di modificarla eventualmente prima di eseguire l'update col relativo bottone.

Grazie
Filomena
se ho capito bene, secondo me non devi fare niente di tutto cio.

vediamo ha un campo DateTime, che vuoi l'utente possa modificare, non potresti usare semplicemente un Caledar (o controllo simile) e bindate la proprietà SelectedDate alla colonna del db?

dopodichè sarà il GridView a gestire i parametri passati al SqlDataSorce in caso di update

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 25 settembre 2002
In effetti, devo controllare che il campo sia vuoto prima dell'edit, altrimenti non devo consentire l'edit del record.

Volevo utilizzare DataKeyNames, oldvalues e newvalues come spiegato su msdn (ma non ho capito come fare) anche perchè dovrei fare la stessa cosa su un altra gridview dove il mio campo non è una data ma un label.

Grazie ancora per la tua pazienza.
Filomena
forse è meglio allora gesire l'evento RowEditing recuperare la colonna con la data controllare il suo valore e agire di conseguenza.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.