51 messaggi dal 08 febbraio 2002
Ciao a tutti,
vi pongo un problema che non riesco a risolvere da ieri...
Il codice che è compreso nel blocco try DOVREBBE eliminare la riga di una Table HTML attraverso un'ImageButton posto all'inizio della riga stessa.tabRequest è il nome della table ma a runtime ho notato, debuggando la riga che dopo aver eseguito il comando, le Rows da tre che erano, sono rimaste 3 (ovviamente, anche nel rendering).
L'espressione
"((TableRow)((ImageButton)sender).Parent.Parent)" presente nella riga incriminata riporta nel QuickWatch una TableRow, esattamente come ci si aspetterebbe.
Ho provato anche con il metodo RemoveAt utilizzando GetRowIndex e l' ID della riga stesso, ma GetRowIndex restituiva -1.
Qualcuno per caso ha mai auto un problema simile ?
Questo è il codice:

private void DeleteRequestImage_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
if(IsToReload) return;
if ((!IsOnModify) || (IsOnModify && ((TableRow) ((ImageButton) sender).Parent.Parent)!=((Table) ((ImageButton) sender).Parent.Parent.Parent).Rows[0]))
{
try
{
tabRequests.Rows.Remove(((TableRow)((ImageButton) sender).Parent.Parent)); //NON FUNZIONA !?
}
catch(Exception ex)
{
string mex = ex.Message;
}
}
else
{
ISSCommon.RegisterMessageBox(Page, "Attenzione!! In Modalità Modifica non è possibile Cancellare la prima riga. " +
"Utilizzare apposita funzione disponibile nella pagina di elenco richieste.");
}
}
32 messaggi dal 26 ottobre 2005
Ma non era più semplice impostare nel <tr> runat="server" e poi nel codebehind dichiarare il tr come System.Web.UI.HtmlControls.HTMLTableRow

E poi sull'evento click del bottone mettere la proprietà visible del tr a False?


Ciao

Stefano

Se vuoi il massimo... devi essere pronto a pagare il massimo!
51 messaggi dal 08 febbraio 2002
Credo proprio di si denton ma purtroppo il codice non l'ho scritto io ci sto solo facendo dei lavori di manutenzione.
Ovviamente non posso mettermi a riscriverlo tutto dato che il codice così dovrebbe comunque funzionare. :-)
ha ragione denton
comunque sicuramente
tabRequests.Rows.Remove(((TableRow)((ImageButton) sender).Parent.Parent)); //NON FUNZIONA !?

indaga con il debugger che tipi sono i vari controlli Parent

" .Parent.Parent "

forse dovrai fare " .Parent.Parent.Parent "

certo che non è molto bello
51 messaggi dal 08 febbraio 2002
L'espressione
"((TableRow)((ImageButton)sender).Parent.Parent)" presente nella riga incriminata riporta nel QuickWatch una TableRow, esattamente come ci si aspetterebbe.
((ImageButton)sender).Parent invece una TableCell.

Non è bello cio che è bello, è bello cio che piace ;-)

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.