Qualcuno ha idea per form dinamici?

venerdì 10 dicembre 2004 - 15.33

Bronzo Profilo | Junior Member

Qualcuno a qualche idea per costruire dei form dinamicamente?

Ciao ciao!

Bronzo Profilo | Junior Member

esempio facciamo finta che ho una tabella con inseriti dentro 10 conoscenze:
tblprogrammazione:
asp
asp.net
php
html
.
.
.
.

voglio recuperare dalla tabella i valori e creare una cosa del genere

<asp:label runat="server" value="asp" /> <asp:dropdownlist runat="server" id="asp" />
.
.
.
.
.
e così via ma dove il dropdown list l'ho creato prima da codice e magari contiene 5 valori 1- 2 - 3 - 4 - 5
il drop si crea per tutti i valori, è uguale ma con id=al valore del campo (asp, html, ecc.)

Mi sono spiegato?

Brainkiller Profilo | Guru

Ciao Bronzo,
non so se ho capito bene ma vorresti creare in fase di runtime i controlli e aggiungerli alla pagina è così ?

Non è molto difficile è sufficiente creare un PlaceHolder per esempio nella pagina.
Poi creare a runtime così gli oggetti:

DropDownList dl=new DropDownList();

assegnargli datasource:

dl.Datasource=qualcosa;
dl.DataBind();

e poi aggiungerlo alla collection Controls del placeholder:

placeholder.Controls.Add(dl)

ciao
david

Bronzo Profilo | Junior Member

Allora sto usando proprio quelli e sinceramente li sto amando (ho sudato 7 camice con la libreria PEAR di PHP ed ora vedere cotanta bellezza mi riscalda il cuore ;)

Solo una domanda!

I dropdownlist

io ero abbituato a crearli in questo modo

Sub....
myCommand = New OleDbCommand( "Select ID_stato, stato From stblstatocivile", myConnection)
statocivile.DataSource = myCommand.ExecuteReader()
statocivile.DataTextField = "ID_stato"
statocivile.DataValueField = "stato"
statocivile.DataBind()
End Sub

<html>
.
.
.
<asp:dropdownlist id="statocivile" runat="server" />

con i Placeholder come mi conviene crearlo?
Dim statocivile As dropdownlist
statocivile = New dtropdownlist()
myCommand = New OleDbCommand( "Select ID_stato, stato From stblstatocivile", myConnection)
statocivile.DataSource = myCommand.ExecuteReader()
statocivile.DataTextField = "ID_stato"
statocivile.DataValueField = "stato"
statocivile.DataBind()
placeHolder1.Controls.Add(statocivile)
?????
Darebbe problemi?

TNX

Bronzo Profilo | Junior Member

Ho controllato, questo funziona ma ho un problema!

Devo creare 5 dropdownlist uguali; con questo sistema devo ricrearli tutte e 5 le volte es:
strLingue3=new dropdownlist()
myconnection.Open()
myCommand = New OleDbCommand( "Select ID_livello, livello From stbllivello", myConnection)
strLingue3.DataSource = myCommand.ExecuteReader()
strLingue3.DataTextField = "livello"
strLingue3.DataValueField = "ID_livello"
strLingue3.DataBind()
myConnection.Close()
strLingue3.ID="livello" & i
GroupLingua.Controls.Add(strLingue3)

Per crearlo solo una volta e poi passargli i valori?


TNX

Brainkiller Profilo | Guru

Creati un array di dropdownlist fai un ciclo For e li richiami con l'indice [0] o [1] ecc. e gli assegni DataSource, DataTextField, DateValueField, ecc. così crei un blocco piccolo di codice che si ripete.

ciao
david

Bronzo Profilo | Junior Member

é praticamente la stessa cosa, solo che salvo prima tutto nell'array e poi lo richiamo nel ciclo! Io cercavo proprio il modo di richiamare solo il contenuto senza ricreare il tutto! Non se pote :(?
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5