Detailsview

martedì 04 luglio 2006 - 17.05

fritzer Profilo | Junior Member

Ragazzi ho un problema che non riesco a risolvere , qualcuno potrebbe aiutarmi?

Vi dico ciò che voglio fare:
ho un aggetto accessdatasource1 che si collega a una tabella di access selezionando il campo idauto
visualizzo il campo con un detailsview composto da

id: (chiave primaria)
auto: (convertito in dropdownlist) questo campo visualizza il nome dell'auto e memorizza il suo indice.
targa :(quando si va in modelità EDIT viene associato il campo a un ulteriore accessdatasource2 che seleziona la targa corrispondente al campo auto selezionato.

ora quello che vorrei è : quando cambio il valore nel campo auto deve cambiare automaticamente il valore nel campo targa.

come posso fare?

all'oggetto detailsview ho impostato datakeynames=idauto

e ho impostato nell'accessdatasource2 la selectquery nel seguente modo

SELECT [idauto] ,[targa] FROM [anag_auto] where ([idauto]=?)
dove ? è un parametro di nome idauto restituito dal controllo detailsview nel seguentemodo
idauto.detailsview1.selectvalue

quello che noto però è che il controllo detailsview non restituisce il valore del parametro.

qualcuno può aiutarmi a capire?

francesco carnevale

alx_81 Profilo | Guru

Ciao!
Se quello che vuoi ottenere è la visualizzazione della targa al cambiamento del DropDownList, ti conviene gestire l'evento SelectedIndexChanged del DropDown..
Siccome però è interno al detailsView, devi aggiungere un Handler e gestire l'evento programmaticamente..
una volta gestito e trappato l'evento non ti resta che valorizzare il tuo camo targa col nuovo valore che ottieni dall'evento stesso..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

fritzer Profilo | Junior Member

grazie , potresti farmi un esempio?non sono molto pratico ancora di asp.net 2.0 ma stò studiando.
francesco carnevale

alx_81 Profilo | Guru

Una volta creato il detailsview, crea al suo interno programmaticamente un controllo DropDownList, solo all'evento ItemCreated, perchè ti serve crearlo sempre ad ogni postback.. Imposta la proprietà AutoPostBack del controllo a True, binda il controllo al risultato della tua query (quella che deve popolare il DropDown) e aggiungilo alla cella desiderata nel DetailsView.
Scrivi la Sub che implementerà quello che deve succedere nell'evento.
Sempre nell'ItemCreated del detailsview aggiungi con addhandler l'evento corrispondente al dropdownlist.
Fine =)

Cmq sia, ti ho allegato un esempio in ASP.NET 2.0..
vedrai che è semplice!! =)
ciaoooooo!

ps: cambia la connectionstring nel web config, mi raccomando..
pps: fammi sapere..

Alx81 =)

http://blogs.dotnethell.it/suxstellino

fritzer Profilo | Junior Member

grazie mille sei un grande , ci sono riuscito ora ogni volta che cambio il valore tutto funziona perfettamente.
ci risentiamo più avanti per qualche altro problema......
francesco carnevale

alx_81 Profilo | Guru

Eh eh.. mi fa piacere..
ho visto che postavi molto questo problema =)..
allora ho cercato di trovare un po' di tempo..
e ci siamo arrivati, dai!! =)
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5