70 messaggi dal 18 agosto 2006
Contributi
La questione è la seguente:

ho una ddl (DDLCATEGORIE) all'interno di un detailsview (in particolare nell'edititemtemplate dello stesso) che tramite un objectdatasource viene riempita con una serie di valori presi da una tabella di appoggio (TBLRIFERIMENTO) contenente le possibili scelte che devono essere presenti nella lista a discesa per l'operatore.

Il detailsview è bindato con una propria tabella di memorizzazione (TBLMEMORIZZA) nel database sottostante, come è normale che succeda se nella tabella in binding col detailsview, all'interno del campo in binding con la dropdownlist di cui sopra, sono presenti valori non contenuti nella TBLRIFERIMENTO quando si passa in modalità di EDIT viene generata un eccezione di tipo "SelectedValue in 'DDLCATEGORIE' non valido, poichè non incluso nell'elenco dei valori".

C'è un modo per intercettare da codice il momento in cui viene impostato come selectedvalue il valore nella ddl prelevato dal db, quando l'operatore passa in editmode del detailsview prima che venga generata l'eccezione di cui sopra?
Ci sarebbe l'evento DataBinding o DataBound sulla dropdownlist ma credo sia troppo tardi perché nel medesimo evento il parser crea il codice che imposta SelectedValue. Dovresti rinunciare alla funzione <%# Bind e lavorare te da codice. Intercettando infatti l'evento DataBinding puoi prima inserire i valori nella collezione Items e poi impostare eventualmente SelectedValue

Ciao

Il mio blog
Homepage
70 messaggi dal 18 agosto 2006
Contributi
Ricciolo ha scritto:
Ci sarebbe l'evento DataBinding o DataBound sulla dropdownlist ma credo sia troppo tardi perché nel medesimo evento il parser crea il codice che imposta SelectedValue


Provato ma troppo tardi , si genera ancora l'eccezione.


Dovresti rinunciare alla funzione <%# Bind e lavorare te da codice. Intercettando infatti l'evento DataBinding puoi prima inserire i valori nella collezione Items e poi impostare eventualmente SelectedValue

Si effettivamente in alternativa avevo pensato nell'evento selected dell'objectdatasource relativo al detailsview di caricare la ddl leggendo i valori della TABRIFERIMENTO e impostando il selected value.
Anche se mi sarebbe piaciuto poter intercettare tale situazione, il tutto sarebbe risultato più veloce da fare.

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.