[asp.net] select concatenate

lunedì 25 gennaio 2010 - 19.08

parkingroma Profilo | Newbie

Ciao Ragazzi,
vorrei creare tre select, dove la 2 e la 3 carichino i dati in base alla precedente.
tutto questo collegato ad un db access.
Avete un esempio da postarmi o mi potete dare qualche consiglio?
ho visto che con il toolkit ajax si puo' fare ma non ho capito bene come, e poi fondamentalmente non avrei problemi a ricaricare la pagina.
grazie!

Massimiliano

alx_81 Profilo | Guru

>Ciao Ragazzi,
Ciao

>vorrei creare tre select, dove la 2 e la 3 carichino i dati in
>base alla precedente.
Intendi tre dropdownlist?
In tal caso è sufficiente che crei tre AccessDataSource, ognuno dei quali (escluso il primo) esegue una query sulla tabella che riempie la dropdown filtrata in base ad un parametro. In aggiunta dovrai definire il datasource delle dropdown con i relativi AccessDataSource e impostare la proprietà AutoPostBack a true per ogni dropdown che deve ricaricare le successive.

Hai dimestichezza con ASP.Net in generale?
Guarda qui intanto:

AccessDataSource class
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.accessdatasource.aspx

http://www.infinitezest.com/articles/cascading-dropdown-without-using-the-ajax-control-toolkit.aspx

>grazie!
Di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

siamodelgatto Profilo | Newbie

Ho le seguenti due tabelle:
catalogo(titolo,autore,editore,ISBN,...)
recensioni(utente,opinione,contenuto,data,ebook)

Ho tre dropdownlist: ISBN, titolo, autore, editore sulla tabella catalogo

vorrei concatenarle in modo da filtrare le voci presenti nella prima

e usare il relativo ISBN come parametro in una query INSERT nella tabella recensioni.

Attualmente riesco a fare ciò solo con una dropdownlist ISBN.

alexmed Profilo | Guru

Vi sintetizzo quello che intende alx_81

DropDownList1 associata a AccessDataSource1 (query "SELECT * FROM [mia_tabella1]")
Imposto il campo visualizzato (DataTextField) e quello da cui ottengo i valori DataValueField che dovrebbe corrispondere alla chiave primaria della tabella.

DropDownList2 associata a AccessDataSource2 (query "SELECT * FROM [mia_tabella2] WHERE [colonna_associata_alla_tabella_1] = ?")
In questo caso avremo nell'AccessDataSource2 un ControParameter impostato sul valore (DataValueField) del primo DropDownList

<SelectParameters>
<asp:ControlParameter name="name_parameter" controlid="DropDownList1" propertyname="SelectedValue"/>
</selectparameters>

Anche per questo Imposto il campo visualizzato (DataTextField) e quello da cui ottengo i valori DataValueField che dovrebbe corrispondere alla chiave primaria della tabella.

Per il terzo DropDownList eseguo la stesse operazioni per il secondo naturalmente impostando come "filtro" della query il secondo DropDownList

<SelectParameters>
<asp:ControlParameter name="name_parameter" controlid="DropDownList2" propertyname="SelectedValue"/>
</selectparameters>

Ciao


alexmed

siamodelgatto Profilo | Newbie

perfetto, ed ogni dropdownlist figlio tiene conto della condizione del dropdownlistpadre del tipo WHERE condizionepadre AND condizionefiglio AND condizionefigliofiglio.

Grazie!

alexmed Profilo | Guru

Non proprio

Ti allego un progettino fatto con Visual Web Dev 2008

Ciao

alexmed

siamodelgatto Profilo | Newbie

grazie, è esattamente quello che faccio ma fatto in modo più semplice!

alexmed Profilo | Guru

Bene, c'è sempre da imparare: mi spiegheresti?

alexmed

siamodelgatto Profilo | Newbie

la tua soluzione è migliore, la mia è frutto di tentativi, ecco qui:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alexmed Profilo | Guru

Il principio è lo stesso ma mentre la mia è a cascata la tua e "libera" quindi la selezione non dipende dal DropDownList che lo precede ma dalla selezione di tutti i DropDownList.

Ciao

alexmed
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5