Będę musiał utworzyć kolumny w datatable podczas runtime i przypisać do niego wartości. Jak mogę to zrobić w vb.net. Wszelkie próby proszę ...Jak dynamicznie tworzyć kolumny w datatable i przypisywać do niego wartości?
Odpowiedz
Jeśli chcesz utworzyć dynamicznie/runtime tabelę danych w VB.NET wówczas należy wykonać następujące czynności wymienione poniżej:
- tworzenia danych obiekt tabeli.
- Dodaj kolumny do tego obiektu tabeli danych.
- Dodaj wiersze z wartościami do obiektu.
Na przykład.
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")
Co próbowałeś, na czym polegał problem?
Tworzenie DataColumns
i dodać wartości do DataTable
jest prosta:
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:
Jeśli chcesz przeczytać plik xml i załadować DataTable z niego, można użyć DataTable.ReadXml
.
Kolumny powinny być dynamiczne !!! – Anuya
@Anuya: Te kolumny ** są ** dynamiczne ('New DataColumn ....'). Jeśli to nie jest proste, musisz podać więcej informacji o tym, co próbujesz osiągnąć. –
Mam XML. kiedy czytam każdy węzeł XML, muszę utworzyć kolumnę w tabeli danych. Gdzie Datatable column name = NodeName i DataSable Column value = Node value. Ponieważ liczba węzłów w XNL może się zmieniać za każdym razem, muszę zrobić to w taki sposób, że tworzenie kolumn i przypisywanie wartości do datatable powinno być generyczne – Anuya
Jeśli nie wiem, ile kolumn będę musiał utworzyć, w jaki sposób można naprawić kolumny, takie jak dt.Rows.Add (1, "Test", "dane") ??? może być nawet 10 kolumn. W jaki sposób ? Thnx – Anuya