PDA

View Full Version : [ASP.NET] controllo dinamico che si costruisce da db


mattomatt
04-10-2008, 12:12
Quella che vi propongo è una sfida interessante...
Mi servirebbe un componente che sia in grado di disegnarsi automaticamente a partire da una tabella su db. Mi spiego meglio:


La tabella (chiamiamola tabella "Attributi") potrebbe essere una cosa del genere (semplificando e tralasciando le parti non interessanti per il problema che ho):


PAGINA | SEZIONE | NOME | TABELLADB | CAMPODB
persona | dati_personali | nome | persona | nome
persona | dati_personali | cognome | persona | cognome
persona | preferenze | avatar | persona | avatar
cane | dati_personali | nome | cane | nome
cane | dati_personali | padrone | cane | padrone
..................

Se io dico al componente di disegnarsi con i parametri PAGINA=persona e SEZIONE=dati_personali e ID=758 mi aspetto che succeda questo:

vegnono create due TextBox con etichette nome e cognome.

ogni textbox è valorizzata eseguendo una query del tipo: "SELECT NOME FROM TABELLADB WHERE ID=@ID. Ad esempio per la prima riga della tabella Attributi la query si concretizza in:
"SELECT nome FROM persona WHERE ID=758"

Al salvataggio analogamente ogni campo si salva con una query del tipo: "UPDATA TABELLADB SET NOME=@INPUTVALUE WHERE ID=@ID. Ad esempio per la prima riga della tabella Attributi la query si concretizza in:
"UPDATE persona SET nome='ciccio' WHERE ID=758"


Spero di essermi spiegato e che sappiate aiutarmi. In altri linguaggi ci metterei poco a farlo ma ho il requisito di utilizzare Visual Basic che invece non conosco quasi per niente.

Grazie a tutti

mattomatt
05-10-2008, 16:13
nessun aiuto?

Stiwy.NET
08-10-2008, 13:02
mhhh cosa intendi per componente?
Se intendi una classe non saprei aiutarti, ma se intendi oggetto è più semplice.
Dovresti andare su File->Aggiungi nuovo elemento->Controllo utente
A questo punto avrai una specie di panel in cui mettere le due textbox. Poi vai nel codice e scrivi la funzione per caricare, salvare, modificare, controllare etc....
Nel form dove vuoi richiamare questo componente fai così:
1. Generi il progetto, poi clicchi col tasto destro nella casella degli strumenti (normalmente è una barra laterale) e vai su Aggiungi/rimuovi elementi->Sfoglia-> selezioni la dll o l'exe del progetto->dai OK e nella casella degli strumenti vedi l'oggetto modificato... a questo punto lo trascini sul tuo form e il gioco è fatto.
2. Generi il progetto. Poi da codice:

dim xObj as new myControllo
xObj.size = new size(100,100)
pnlContenitore.controls.add(xobj)

Fine...