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
Aggiornamento Datagridview
martedì 18 settembre 2007 - 17.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sergioska
Profilo
| Newbie
4
messaggi | Data Invio:
mar 18 set 2007 - 17:26
Salve a tutti,
Ho una form all' interno del quale c'è un datagridview che mi fa vedere dei dati presenti nel db (tramite un tableadapter).
In questa form c'è un tasto che apre un' altra form dove si inseriscono dei dati che sul click di un tasto salva vengono salvati sul db.
Il mio problema è questo: i dati vengono salvati sul database, ma non riesco ad aggiornare il datagridview senza aprire e chiudere la form dove si trova il datagridview.
Come posso fare?
Io ho provonto nel seguente modo, ma non sono riuscito:
// Nuova riga
DataRow dr = tblProdottiTableAdapter.GetDataByCategoria().NewRow();
// Recupero l' ultima riga inserita nel database
dr[1] = tblProdottiTableAdapter.GetDataByCategoria().Rows[tblProdottiTableAdapter.GetDataByCategoria().Rows.Count - 1].ItemArray.GetValue(1).ToString();
.
.
.
// Inserisco nel dataset la nuova riga
gestionaleDataSet.Tables["tblProdotti"].Rows.Add(dr); // ***
gestionaleDataSet.AcceptChanges();
In questo modo a run time, alla riga che ho indicato con i tre asterischi mi errore, dicendo che la riga è già presente in un' altra tabella
Qualcuno può gentilmente aiutarmi? Magari sto sbagliando completamente strada.
Grazie in anticipo. Ciao
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mar 18 set 2007 - 20:36
Ti conviene creare una Subroutine che crei il DataTable ed effettui il binding con il DataGridView; la richiamerai ogni volta che aggiungi un record.
In questo modo:
Private Sub CaricaDataGrid
Dim TuoDataAdaptera as new SqlDataAdapter
'...
'Istruzioni che creano il DataTable ed effettuano il binding con il DataGridView
'
End Sub
Richiami questa Sub all'evento Load del tuo Form e ogni volta che aggiungi un record alla tabella.
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
sergioska
Profilo
| Newbie
4
messaggi | Data Invio:
gio 20 set 2007 - 01:06
Ciao e grazie mille per l'aiuto, ti sarei ancora + grato se potessi essere un + esplicito, perchè sto provando, ma non sto provando come mi hai suggerito, ma non riesco a capire dov'è l' inghippo.
Grazie Ciao
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
gio 20 set 2007 - 08:23
Cerco di spiegarmi meglio.
Tu avrai già gestito l'apertura del DataBase, la creazione del DataSet con un DataAdapter (fill) e il binding del DataTable con il DataGridView... e immagino tu abbia inserito il codice all'evento load del tuo form.
Bene, a questo punto devi inserire quel codice dentro a una subroutine.
Questa subroutine dovrai richiamarla dall'evento load del form (quindi funzionerà esattamente come prima).
La stessa chiamata la dovrai inserire nell'evento click del tuo command button dopo la chiamata del metodo ShowDialog del form secondario.
In questo modo il tuo DataSet e relativo DataAdapter si rigenerano ogni volta che effettui la chiamata.
Spero di essere stato abbastanza chiaro, in caso postami il codice che hai attualmente scritto nel tuo form così te lo modifico io in modo opportuno.
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
sergioska
Profilo
| Newbie
4
messaggi | Data Invio:
gio 20 set 2007 - 13:48
Ciao, credo di aver risolto più o meno come mi hai indicato tu, in questo modo:
SqlDataAdapter sql = new SqlDataAdapter();
// Connessione
SqlConnection conn = new SqlConnection(connString);
// Comando query da eseguire
SqlCommand cmd = new SqlCommand("SELECT * FROM tblProdotti WHERE id_Fornitore="+txtId.Text+";", conn);
cmd.CommandType = CommandType.Text;
// Esecuzione della query
sql.SelectCommand = cmd;
// Riempimento del nuovo DataTable
sql.Fill(ddt);
// Associazione del DataTable riempito al DataSource del DataGridView
tblProdottiDataGridView.DataSource = ddt;
Intendevi questo?
Grazie ancora per la disponibilità. Ciao
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
gio 20 set 2007 - 13:59
Yes!
Ciao
Ale
http://blogs.dotnethell.it/alebadalin
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 !