23 messaggi dal 15 gennaio 2003
Ciao a tutti.
Ho uno usercontrol (uc_ddl_lingue) con una semplice dropdown list (ddl_lingue) ke carico con un datareader.

ho una pagina, di inserimento dati, con un form dove un utente deve salvare dei dati. Da qui riesco a leggere il valore selezionato (LINGUA = ddl_lingue_uc.SelectedValue) e salvarlo. Fin qui tutto bene.

Dalla stessa pagina, se sono in modifica, leggo i dati e riempio i campi, e dovrei impostare il selected sul valore dell'item che corrisponde al dato salvato in precedenza.
E qui nasce il mio problema xkè non riesco a farlo!

Vi posto le mie prove:

Dichiaro:
Protected WithEvents uc_ddl_lingue_modnews As System.Web.UI.UserControl

Dim ddl_lingue_uc As DropDownList


Assegno nella load della pagina
ddl_lingue_uc = uc_ddl_lingue_modnews.FindControl("ddl_lingue")


e fin qui dovrebbe essere tutto ok visto ke nel caso dell'inserimento leggo correttamente il dato selezionato.

Quando sono in modifica, nel loop del datareader dove leggo i valori dal db per riempire i campi
If Not IsDBNull(DR("LANG")) Then
ddl_lingue_uc.Items.FindByValue(DR("LANG")).Selected = True
End If


ed è qui che non ne vuole sapere e da errore Riferimento a un oggetto non impostato su un'istanza di oggetto.

Con il controllo immediato, count di ddl_lingue_uc.Items è 0 e non capisco xkè!
la drop non è direttamente raggiungibile quando si trova dentro un user control, non ti so scrivere il codice in VB uso C#, ma il procediemeto è più o meno questo:

dentro il tuo uc_ddl_lingue (user control) cerchi la tua drop (ddl_lingue) con findcontrol e così ottieni un riferimento, una volta che hai il riferimento imposti le propietà normalemnte, questo a grandi linee

altro sistema doti il tuo user di una propietà string e la imposti dalla pagina


ciao marco

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

http://nostromo.spaces.live.com/default.aspx
23 messaggi dal 15 gennaio 2003
nostromo ha scritto:
dentro il tuo uc_ddl_lingue (user control) cerchi la tua drop (ddl_lingue) con findcontrol e così ottieni un riferimento



era quello che provavo a fare con
ddl_lingue_uc = uc_ddl_lingue_modnews.FindControl("ddl_lingue")


nostromo ha scritto:
una volta che hai il riferimento imposti le propietà normalemnte, questo a grandi linee


poi ho provato "normalmente" con
ddl_lingue_uc.SelectedValue = DR("LANG")

ma ddl_lingue_uc non prende alcun valore (resta ddl_lingue_uc.SelectedValue = "")

poi mi hanno suggerito
ddl_lingue_uc.Items.FindByValue(DR("LANG")).Selected = True
ma mi segna che non ha item.........

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.