RowDeleting va in loop
simonet1981 non è online. Ultima attività: 05/09/2008 18.56.20simonet1981
Inserito il: 03 luglio 2008 11.13
49 messaggi dal 12 nov 2007 Istalla Microsoft Silverlight!
Salve,
ho una griglia in una pagina e voglio gestire l'eliminazione di una riga.
ho inserito un CommandField con il DeleteButton.
Sull'evento RowDeleting faccio
Dim Riga As Integer = e.RowIndex
grid.DeleteRow(Riga)
ma quando lancio l'applicazione e clicco sul delete mi entra in loop su questa operazione e alla fine mi da un errore di
'System.StackOverflowException'

potreste aiutarmi?

grazie
Microsoft Most Valuable Professional
RE: RowDeleting va in loop
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 11.47
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
la tua griglia è associata a? cosa uni come fonte dati?, comunque è normale vada in loop, nell'evento richiami un metodo che genera quell'evento

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
RE: RowDeleting va in loop
simonet1981 non è online. Ultima attività: 05/09/2008 18.56.20simonet1981
Inserito il: 03 luglio 2008 15.35
49 messaggi dal 12 nov 2007 Istalla Microsoft Silverlight!
La fonte dati è un datatable che creo dinamicamente estraendolo da un db..
l'unica cosa che voglio fare io è quella di eliminare la riga dalla griglia.
in un secondo momento quando l'utente mi clicca di salvare l'oggetto vado a leggere gli elementi rimasti sulla griglia e vado a modificare il database.
Microsoft Most Valuable Professional
RE: RowDeleting va in loop
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 15.58
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
mmm ti sconsiglio di seguire questa strada, primo perchè il metodo DeleteRow ha tutto un altro scopo, ovvero cancellare la riga relativa nel DataSource.

l'unica cosa che puoi fare è tenerti un DataTable in cache e agire su quello e bindarlo ogni volta al GridView

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
RE: RowDeleting va in loop
simonet1981 non è online. Ultima attività: 05/09/2008 18.56.20simonet1981
Inserito il: 03 luglio 2008 16.46
49 messaggi dal 12 nov 2007 Istalla Microsoft Silverlight!
ho provato, ma continua a eseguire il metodo più di una volta....
ho fatto:
Dim Riga As Integer = e.RowIndex
dtSpazi.Rows.Remove(dtSpazi.Rows.Item(Riga))
grid.DataSource = dtSpazi
e sul click del delete funziona correttamente, però lo esegue più di una volta, quindi al secondo passaggio la riga non la trova più, ed ho un errore..
in questo caso non richiamo l'evento che genera il deleting, o sbaglio?
Microsoft Most Valuable Professional
RE: RowDeleting va in loop
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 17.10
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
prova a postare più codice così mi è difficile capire cosa accede di preciso


ciao marco

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

http://nostromo.spaces.live.com/default.aspx
RE: RowDeleting va in loop
simonet1981 non è online. Ultima attività: 05/09/2008 18.56.20simonet1981
Inserito il: 03 luglio 2008 17.34
49 messaggi dal 12 nov 2007 Istalla Microsoft Silverlight!
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
dtSpazi = New DataTable
If Not IsPostBack Then
dtSpazi = (New SpaziBiz).getDataTable(pagina.IdPagina)
Else
dtSpazi = Session("dtSpazi")
End If
grid.DataSource = dtSpazi
grid.DataBind()
Session.Add("dtSpazi", dtSpazi)
End Sub

Protected Sub grid_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles grid.RowDeleting
dtSpazi = Session("dtSpazi")
Dim Riga As Integer = e.RowIndex
dtSpazi.Rows.Remove(dtSpazi.Rows.Item(Riga))
grid.DataSource = dtSpazi
grid.DataBind()
Session.Add("dtSpazi", dtSpazi)
End Sub
Microsoft Most Valuable Professional
RE: RowDeleting va in loop
nostromo non è online. Ultima attività: 05/09/2008 23.26.40nostromo
Inserito il: 03 luglio 2008 18.32
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12053 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
l'eccezione è sempre la solita?

ciao marco

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

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


Pagine: [1] 2 Avanti >>
Vai a:
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.


maltra - 811 pt
vladimiro - 562 pt
fabrica - 180 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums