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 TextBox
mercoledì 31 gennaio 2007 - 17.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
giamisan
Profilo
| Newbie
48
messaggi | Data Invio:
mer 31 gen 2007 - 17:46
Ciao a tutti, ho un piccolo problemino che se programmassi con VB6 avrei già risolto e non sarei qui a rompere le scatole ma essendo con Visual Studio non riesco a risolverlo.
Praticamente ho un form contenente 4 textbox e un controllo DataGridView impostanto in maniera tale che cliccando su una cella selezioni tutta la riga.
Logicamente il DataGrid pesca i dati da un db SQL e quindi vi sono anche DataSet e TableAdapter.
Ho bisogno che cliccando sulla datagrid in corrispondenza della riga1 per esempio mi si compilino in automatico i 4 textbox con i relativi 4 campi presenti in quella riga.
Come faccio?
Grazie a tutti
Giacomo
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 31 gen 2007 - 19:17
ciao,
il modo migliore per tenere sincronizzati i componenti con i dati caricati, è sicuramente quello di usare un "BindingSource", (oggetto che trovi nella toolbox insieme alla griglie).
Ti basta dargli il datasource e aggangciare tutti i controlli a questo oggetto, ovviamente a campi diversi dello stesso.
Metti la griglia bindata a lui, e le varie textbox
Cosi' facendo la sincronizzazione viene gestita da lui in automatico, senza problemi.
Se poi magari lo tipizzi magari cosi' puoi farti aiutare anche da visual studio e le finestre proprieta' e vai via tranquillo.
Se nel tuo caso non hai un dataset Tipizzato, quindi non hai una dataSource gia' pronta nella finestra delle datasource appunto, allora o decidi di fartene una per i dati che vengono caricati oppure devi farlo a mano, specificando sempre il BindingSource come sorgente dati dei componenti che ti interessano (combo/textBox/Label etc...) e pero' come "displayMember" e "valueMember" devi mettere a mano tu il nome della colonna a cui saranno bindati.
Prova a muoverti in questa direzione e vedrai che farai presto e senza grossi intoppi...
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
giamisan
Profilo
| Newbie
48
messaggi | Data Invio:
gio 1 feb 2007 - 08:24
Ciao, nel frattempo ieri sera da casa sono riuscito a trovare una soluzione al mio problema. Ho inserito nell'evento Click della mia DataGridView le seguenti instruzioni:
row = DataGridView1.CurrentCell.RowIndex
txt1.Text = DataGridView1.Item(0, row).Value
txt2.Text = DataGridView1.Item(1, row).Value
txt3.Text = DataGridView1.Item(2, row).Value
txt4.Text = DataGridView1.Item(3, row).Value
E con questo il problema sembra risolto. Penso però che la tua soluzione possa essere la migliore e quindi vedrò anche di provare la tua via alternativa, cosa dici?
Grazie Giacomo
ApatiaMax
Profilo
| Newbie
6
messaggi | Data Invio:
lun 5 feb 2007 - 16:30
che evento hai usato ?
ho fatto un po' di prove con CellContentDoubleClick e CellContentClick
ma non accusa minimamente
giamisan
Profilo
| Newbie
48
messaggi | Data Invio:
lun 5 feb 2007 - 17:00
Ciao, io ho utilizzato l'evento CellClick.
In precedenza avevo provato con l'evento CellContentClick e Click ma non mi davano i risultati che per speravo.....con Click ho risolto tutto.
ApatiaMax
Profilo
| Newbie
6
messaggi | Data Invio:
lun 5 feb 2007 - 19:02
funzionaaa grazie 1000
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 6 feb 2007 - 19:30
ciao,
rimango dell'idea che potevi fare tutto con il Binding, magari nelle prossime versioni tienilo presente perche' è veramente nato proprio per queste cose ed è sicuramente piu' efficace e meno rognoso da manutenere in futuro...
cmq se hai risolto accetta una rispota cosi' marchiamo il thread come concluso.
Grazie
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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 !