Aiuto salvare dati da DataGrindview

giovedì 08 marzo 2012 - 12.45
Tag Elenco Tags  VB.NET  |  Windows 7  |  Visual Studio 2010

wjzard Profilo | Newbie

Salve sto imparando da poco e non sono molto esperto vorrei quindi se possibile un aiuto:

Ho allegato il file che ho creato, come potete vedere il primo form rappresenta l'italia con vari bottoni di ogni regione cliccando ogni bottone porta a vari form.
ogni form ha un menu a tendina ognuna di queste tendine ce un datagrindview e vorrei che per in ognuna di queste si potesse salvare ciò che viene scritto su file txt e ricaricare il file automaticamente all'apertura del form

mi date una mano per favore?

grazie

Vinsent Profilo | Senior Member

Non entro nel merito del tuo programma...ma per fare quello che vorresti penso sia più utile e semplice da gestire utilizzare un database (Access?) o un semplice file XML.
Il codice sotto (1 form, 2 datagridview) è un' esempio mooolto rozzo...per darti un' idea su come scrivere e leggere i dati dal file "italia.xml".
Penso sia abbastanza intuitivo...altrimenti chiedi pure:

Imports System.IO Public Class Form1 Dim ds As New DataSet Dim path As String Private Sub Form1_Load() Handles MyBase.Load path = My.Computer.FileSystem.SpecialDirectories.Desktop & "\italia.xml" verifica_file() End Sub Private Sub verifica_file() If File.Exists(path) = False Then genera_dataset() Else Try ds.ReadXml(path) Catch ex As Exception MsgBox("Errore: " & vbCrLf & ex.Message) Return End Try End If DataGridView1.DataSource = ds.Tables("abruzzo") DataGridView2.DataSource = ds.Tables("basilicata") End Sub Private Sub genera_dataset() ds.DataSetName = "italia" ds.Tables.Add("abruzzo") ds.Tables.Add("basilicata") ds.Tables("abruzzo").Columns.Add("colonna 1") ds.Tables("abruzzo").Columns.Add("colonna 2") ds.Tables("abruzzo").Columns.Add("colonna 3") ds.Tables("basilicata").Columns.Add("colonna 1") ds.Tables("basilicata").Columns.Add("colonna 2") ds.Tables("basilicata").Columns.Add("colonna 3") End Sub Private Sub salva_dati() Handles Me.FormClosing Try ds.WriteXml(path) Catch ex As Exception MsgBox("Errore: " & vbCrLf & ex.Message) Return End Try End Sub End Class

wjzard Profilo | Newbie

come avrai notato non ho capacità sufficiente per fare come dici;
non posso semplicemente salvare i dati di ogni datagrindview su un file txt?

Vinsent Profilo | Senior Member

Neanch' io sono una cima...mi piace fare qualche programmino per hobby.
Ho dato un' occhiata al tuo programma...quello che vuoi fare c' è già, con tanto di commento!!!
Per ora non ti dico più niente, cerca di arrivarci da solo altrimenti, scusami, è meglio che lasci perdere. Con questo non voglio offenderti o altro, semplicemente devi capire cosa stai facendo, perchè e in che modo. Se ti limiti a fare copia/incolla o usare codice scritto da altri senza "studiare" ti ritroverai sempre con questi problemi, sopratutto perchè mi sembra di capire che non hai neanche le basi...e difficilmente troverai chi scrive il "tuo" programma per te.
Posso consigliarti di non lavorare direttamente sul programma finale ma di farti uno "schema" con quello che dovrebbe fare, e per ogni funzione che non sai implementare creare un singolo progetto di test che svolge "la singola funzione" documentandoti sul web e se il codice che scrivi non va chiedere sul forum. Questo per capire ed imparare come usare lo "strumento", una volta appreso il resto è molto più semplice.
Prendendo come esempio la richiesta del topic, la funzione implica come prima cosa la lettura/scrittura di un file txt, lo sai fare?

wjzard Profilo | Newbie

In parte lo già fatto ma non funziona come vorrei perché come potrai notare salva i dati per un solo DataGrindview mentre io in ogni form ho un tabcontrol con tanti DataGrindview


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Vinsent Profilo | Senior Member

Ok, l' ultimo codice che hai postato è la classe del form "abruzzo", nelle altre form cosa hai scritto?

wjzard Profilo | Newbie

ancora nulla perchè non è ancora completo dato che mi salva solo i dati di un DataGrindview invece vorrei che mi salvasse i dati di ogni DataGrindview presente nella varie pagine dei form

Vinsent Profilo | Senior Member

Ti sei risposto da solo...!

wjzard Profilo | Newbie

Il problema è che non saprei come fare (per questo ho scritto qui)
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5