54 messaggi dal 07 aprile 2005
attuale implementazione:

Sub visualizza_dettaglio_ambiente(ByVal Sender As Object, ByVal E As EventArgs) Handles GridView1.SelectedIndexChanged
sql_selected_prog.SelectParameters.Clear()
Dim ctlParam As New ControlParameter("prog_id", "GridView1", "SelectedValue")
sql_selected_prog.SelectParameters.Add(ctlParam)
End Sub

Sub visualizza_dettaglio_turismo(ByVal Sender As Object, ByVal E As EventArgs) Handles GridView2.SelectedIndexChanged
sql_selected_prog.SelectParameters.Clear()
Dim ctlParam As New ControlParameter("prog_id", "GridView2", "SelectedValue")
sql_selected_prog.SelectParameters.Add(ctlParam)
End Sub


in pratica le "n" gridview sono in tutto simili e eseguono tutte codice a seguito di SelectedIndexChanged che differisce (come si può vedere) solo minimamente in funzione della gridview che viene cliccata

comi si può, quindi, rendere il tutto in:

Sub visualizza_dettaglio(ByVal Sender As Object, ByVal E As EventArgs) Handles GridView1.SelectedIndexChanged, _
GridView2.SelectedIndexChanged, _
.., _
GridViewn.SelectedIndexChanged

sql_selected_prog.SelectParameters.Clear()
Dim ctlParam As New ControlParameter("prog_id", la-particolare-gridview-cliccata, "SelectedValue")
...

ovvero: come recuperare il parametro 'la-particolare-gridview-cliccata' ?
Modificato da luc_asp il 07 agosto 2006 14.40 -
Usa il medesimo metodo per entrambi come hai proposto e guarda il sender che è l'oggetto che ha scatenato l'evento. E' un object ma se fai un cast su GridView o in generale su Control ti puoi guardare la sua proprietà ID e usarla oppure confrontare sender con gridview1/gridview2.

Ciao

Il mio blog
Homepage
54 messaggi dal 07 aprile 2005
si, è quello che sto appunto cercando di fare, ma non ne sono capace
motivo per cui ho chiesto aiuto

come si effettua il cast sul sender di modo da recuperarne l'ID?
potresti cortesemente fare un esempio?
grazie
oh yesss
if DirectCast(sender, GridView).ID = "GridView1" ....

Ciao

Il mio blog
Homepage
54 messaggi dal 07 aprile 2005
Ricciolo ha scritto:
oh yesss
if DirectCast(sender, GridView).ID = "GridView1" ....


grazie per la rapidità nella risposta
in effetti avevo già risolto con

sender_ID = CType(Sender, GridView).ID

immagino si equivalgano anche se, nella mia ignoranza, mi riesce difficile comprendere (se già il tutto non fosse sufficientemente incasinato di per se) la possibilità di utilizzare metodi "simili" eppure non identici

directcast e ctype sono sinonimi?

grazie ancora, il precedente suggerimento mi è stato molto utile
DirectCast funziona solo per i tipi di riferimento e non tenta una conversione come per CType.
Leggi qua
http://msdn2.microsoft.com/it-it/library/7k6y2h6x.aspx

Ciao

Il mio blog
Homepage

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.