ciao,![]()
ho ampliato la classe di cui ho parlato qualche giorno fa sul forum
ho aggiunto una funzione per creare dinamicamente "form a ramo"
cioe' da un primo elemento form (estratto da una tabella del db)
vengono creati altri elementi (tanti quanto sono i campi della tabella)
ed a loro volta ancora altri...VVoVe:
esempio :![]()
1) tabella (Universita)
contiene nel campo (materie) Fisica,chimica,matematica
quindi verra creato un campoForm (select o radio o check a scelta)
contenente le voci sopra citate
2) per ogni elemento verra creato un campoForm con le voci che verranno estratte
dalla tabella (a scelta in questo caso docenti) ma non verra visualizzato nel browser
fino a quando non verra richiamato da una selezione precedente
quindi avremo uno scema del genere :
e cosi via addentrandosi sempre piu' in profondita, ovviamente nel browser verra visualizato (lato client)
solo il campoform desiderato, in questo caso scegliendo fisica nel primo campoform verra visualizzata SOLO
il contenuto della tabella docenti nella colonna fisica e gli altri campiform no.
si possono inserire css, query sql ecc.
ecco un esempio di utilizzo :
<body><form name="pippo">codice:tabella universita colonna materie ****************fisica****************chimica******************matematica**************** | | | tab. docenti(colonna fisica) (colonna chimica) (colonna matematica) | | | |----------------|-------------------| | | | | | | | prof.pippo prof.pluto prof.ugo | | | | | | | | |-------------------|----------------------| | | | | | prof.gino prof. pino prof.lino | | | | | |--------------------------|--------------------------| | | | prof.albert prof.gigi prof.richi
<%
'creo l'oggetto
set prova = new DinamicForm
'imposto le tabelle oggetto della ricerca
'che potrebbe essere anche ---"menu_cat where altroCampo = ' condizione ',offerte where altroCampo = ' condizione ')
'separandoli da una virgola
prova.Tabella="universita,docenti"
'indico il percorso del db
prova.DataBase="/mdb-database2/unica.mdb"
'atribuisco un nome di base
'(separare da una virgola per eventuali altri campi)
prova.SelectName="materie"
'avvio la sequenza il primo campo della prima tabella
'(separare da una virgola per eventuali altri campi)
prova.Sequenza="materie"
'indico che tipo di campoform voglio in sequenza (1=select 2=radio 3=check) (uno per ogni ramo, nell'esempio 2)
'(separare da una virgola per eventuali altri campi)
prova.tipo="1,1"
'indico il nome del form (pippo nell'esempio) P.S il form puo' contenere elementi esterni aggiunti
prova.formName="pippo"
'creo il form
prova.CreaDinamicForm()
%></form>
</body>
![]()
attualmente ci sto lavorando ancora sopra e se qualcuno a voglia e tempo...
una mano o anche dei consigli e sempre il beneaccetto.![]()
la classe da scaricare la trovate su www.esterofilo.com/classForm.zip e
non ha bisogno di installazione, va semplicemente inclusa nel documento asp
nel solito modo ().
al suo interno sono incluse altre classi con diverse funzioni (controllo input, replace input
controllo campi numerici, campi data, campi email ecc) comprese le classi per creare dinamicamente
campiform da db anche singolarmente.
![]()