Ho un mio ObjectDataSource che restituisce un mio oggetto con svariate proprietà tutte sono in binding con textbox o combo che siano in modo che al momento del salvataggio mi trovo il mio oggetto ben valorizzato senza dover fare lavoro di "collegamento" tra i controlli grafici e il mio oggetto.
Ora vorrei creare una proprietà del mio oggetto e legarla ad una CheckBoxList (in realtà uso oggetti di una libreria ma il concetto è lo stesso) in modo da avere in questa proprietà prima del salvataggio gli elementi selezionati e che il tutto funzionasse anche al contrario e cioè in fase di caricamento avere in questa proprietà quelli selezionati e che la CheckBoxList in caricamento me li preselezioni.
Faccio un esempio pratico e più semplificato del mio caso reale per spiegarmi meglio.
TbPersona: anagrafica
LsLingua: elenco delle lingue
TbPersonaLingue: le lingue parlate da ogni persona (id, idPersona, idLingua)
Nel FormView di inserimento della Persona inserisco una CheckBoxList popolata da LsLingua con tutte le lingue esistenti, l'utente checka le lingue parlate e salva.
Ora nel mio oggetto Persona vorrei mettere una proprietà e metterla in binding con "qualcosa" della CheckBoxList questa proprietà può essere qualunque cosa, List<int> (il value dell'oggetto della ChackBoxList), List<string>, List<LsLingua> (questo che sarebbe l'oggetto con cui è caricata la CheckBoxList sarebbe il massimo ma credo che sia impossibile) al limite anche se vorrei evitarlo perché si perderebbe la separazione e sarebbe tutto da rifare se cambiassi oggetto grafico anche List<CheckItem>.
Vorrei che questo binding funzionasse nei due sensi, la proprietà all'inizio fa selezionare alcuni check e in fase di salvataggio è la CheckBoxList a valorizzare la proprietà
So benissimo che è tutto fattibile recuperando i Checked Items appena prima del salvataggio e appena prima del Load checkarli ma se fosse possibile agire come in caso di texbox e combo preferirei
Grazie

Rispondi quotando
