Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
DataGridView e relazioni 1:N
mercoledì 25 marzo 2009 - 22.22
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
cesconix
Profilo
| Junior Member
50
messaggi | Data Invio:
mer 25 mar 2009 - 22:22
Su Origini dati ho creato un dataset includendo la mia tabella Utenti tramite wizard. Trascinando quindi il dataset da Origini dati al mio form, mi crea automaticamente: utentiBindingSource, utentiTableAdapter, utentiBindingNavigator e utentiDataset. Fin qui è ok, mi genera nel form il DataGridView popolato dai record della mia tabella Utenti.
Il mio problema è che tra i campi della tabella Utenti c'è ne uno che indica l'id della sua struttura (un'altra tabella nel db) perchè ogni utente ha la sua struttura e quindi ho una relazione 1 a N tra Utenti e Strutture. Smanettando un pò ho notato che si può cambiare nel DataGridView la proprietà ColumnType in DataGridViewCommboBoxColumn e di conseguenza ho messo queste proprietà per popolare la combobox:
DataPropertyName: id_struttura (sarebbe la chiave primaria della tabella Strutture)
DataSource: struttureBindingSource
DisplayMember: nome (è uno dei campi della tabella Strutture)
ValueMember: id_struttura (sarebbe la chiave primaria della tabella Strutture)
Fatto questo funziona tutto. Nel datagridview adesso mi visualizza i nomi delle strutture nella combobox e nella insert nel db gli mette l'id_struttura. Perfetto!
La mia domanda è: c'è una procedura che capisce le relazioni e mi crea le combobox automaticamente? Io non ho creato relazioni, non so nemmeno come poterle fare funzionare.
L'altro mio problema: nella solita tabella Utenti, c'è un campo "Tipo" che può contenere come valore stringa o "Amministratore" o "Operatore". Quindi, come per il campo id_struttura, ho cambiato nel DataGridView la proprietà ColumnType in DataGridViewCommboBoxColumn e come Items ho inserito le due stringhe. Il problema adesso è: dovrei fare in modo che se l'utente ha selezionato nella combobox la voce "Amministratore", il campo id_struttura diventa superfluo e dovrei disabilitarlo. Come potrei fare?
Un altro problema ancora: come posso inserire l'errorProvider nelle celle del DataGridView? Purtroppo se non faccio qualcosa mi genera degli errori di validazione (ad es. quando alcuni campi obbligatori li lascio vuoti) che sono terrificanti... sembrano errori di sistema con quei messagebox con l'icona rossa!
Torna su
Stanze Forum
Elenco Threads
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 !