Dovrò creare colonne in datatable durante il runtime e assegnare valori ad esso. Come posso farlo in vb.net. Ogni campione si prega di ...Come creare dinamicamente colonne in datatable e assegnare valori ad esso?
risposta
Se si desidera creare dinamicamente/tabella dei dati runtime in VB.Net allora si dovrebbe seguire questi passaggi come indicato di seguito:
- creare dati oggetto tabella.
- Aggiungere colonne a quell'oggetto tabella di dati.
- Aggiungi righe con valori nell'oggetto.
Ad es.
Dim dt As New DataTable
dt.Columns.Add("Id", GetType(Integer))
dt.Columns.Add("FirstName", GetType(String))
dt.Columns.Add("LastName", GetType(String))
dt.Rows.Add(1, "Test", "data")
dt.Rows.Add(15, "Robert", "Wich")
dt.Rows.Add(18, "Merry", "Cylon")
dt.Rows.Add(30, "Tim", "Burst")
Che cosa hai provato, qual era il problema?
Creazione DataColumns
e aggiungere valori a un DataTable
è semplice:
Dim dt = New DataTable()
Dim dcID = New DataColumn("ID", GetType(Int32))
Dim dcName = New DataColumn("Name", GetType(String))
dt.Columns.Add(dcID)
dt.Columns.Add(dcName)
For i = 1 To 1000
dt.Rows.Add(i, "Row #" & i)
Next
Edit:
Se si desidera leggere un file XML e caricare un DataTable da esso, è possibile utilizzare DataTable.ReadXml
.
Le colonne dovrebbero essere dinamiche !!! – Anuya
@Anuya: quelle colonne ** sono ** dinamiche ('Nuovo DataColonna ....'). Se questo non è un problema, devi fornire maggiori informazioni su ciò che stai cercando di ottenere. –
Ho un XML. quando leggo ciascun nodo di XML, devo creare una colonna nella tabella dei dati. Dove Nome colonna datatable = NodeName e Datatable Column value = Valore nodo. Poiché il numero di nodi in XNL può variare ogni volta, devo renderlo tale che la creazione di colonne e l'assegnazione di valori a datatable dovrebbe essere generica – Anuya
Se non so quante colonne dovrò creare, come è possibile correggere le colonne come dt.Rows.Add (1, "Test", "data") ??? ci possono essere anche 10 colonne. Come ? Thnx – Anuya