>grazie stasera provo
>
>cmq scusate il triplo post ma mi dava errore :(
>
>ho provato ora, per scrivere scrive ma mi fa questo schema:
>
><server>
> <Table1>
> <nome>ciaociao</nome>
> <server>ciaociao</server>
> <db>ciaociao</db>
> <username>ciaociao</username>
> </Table1>
> <Table2>
> <nome>prova</nome>
> <server>prova</server>
> <db>prova</db>
> <username>prova</username>
> </Table2>
></server>
>
>non si puo chiamare diversamente TABLE1 e TABLE2? e sopratutto
>io prima li leggevo cosi:
Si, le puoi chiamare diversamente, ma come ti dicevo nel post precedente i nomi devono essere univoci. Quindi non puoi chiamarli entrambi "storedconnection" altrimenti tanto varrebbe che tu mettessi tutti i dati dentro allo stesso datatable. Sei sicuro che ti servono più datatable? Conosci la differenza tra dataset, datatable e datarow? Perchè nel codice che avevi scritto all'inizio ogni riga della griglia creava un datatable con una riga...
Forse invece tu volevi fare una cosa di questo tipo:
' Creo il nuovo dataset
Dim ds As New DataSet("server")
' Creo il nuovo datatable
Dim dt As New DataTable("storedconnection")
' NOTE: !!! Specifica sempre il tipo delle colonne !!!
dt.Columns.Add("nome", GetType(String))
dt.Columns.Add("server", GetType(String))
dt.Columns.Add("db", GetType(String))
dt.Columns.Add("username", GetType(String))
' Aggiungo la tabella al dataset
ds.Tables.Add(dt)
' NOTE: Qui potresti utilizzare anche il costrutto For Each
For i = 0 To dgvServerSalvati.Rows.Count - 1
dt.Rows.Add(
dgvServerSalvati.Rows(i).Cells(0).Value, _
dgvServerSalvati.Rows(i).Cells(1).Value, _
dgvServerSalvati.Rows(i).Cells(2).Value, _
dgvServerSalvati.Rows(i).Cells(3).Value)
Next
In quest'ultimo esempio, tutte le righe della griglia vengono aggiunte ad un solo datatable che si chiama appunto "storedconnection", in questo modo quando stamperai l'xml dovrai avere una situazione del genere:
<server>
<storedconnection>
<nome>ciaociao</nome>
<server>ciaociao</server>
<db>ciaociao</db>
<username>ciaociao</username>
</storedconnection>
<storedconnection>
<nome>prova</nome>
<server>prova</server>
<db>prova</db>
<username>prova</username>
</storedconnection>
</server>
>
>ds.ReadXml(Application.StartupPath + "\xml\login.xml")
>
>For i = 0 To ds.Tables("storedconnection").Rows.Count - 1
>cboxConnection.Items.Add(ds.Tables("storedconnection").Rows(i).Item("nome"))
>dgvServerSalvati.Rows.Add(ds.Tables("storedconnection").Rows(i).Item("nome"),
>ds.Tables("storedconnection").Rows(i).Item("server"), ds.Tables("storedconnection").Rows(i).Item("db"),
>ds.Tables("storedconnection").Rows(i).Item("username"))
> Next
>
>ma a sto punto non funziona piu
Dovrei avere capito meglio cosa volevi fare , prova l'esempio sopra e dovrebbe andarti tutto.
Enjoy It
- Michael -
http://blogs.dotnethell.it/Regulator/