SirNoN Ответов: 2

Vb.net я хочу, чтобы скопировать объект DataTable объект DataTable пыльника с другими столбцами


<pre>vb.net I want To copy DataTable To anther DataTable with other columns


Что я уже пробовал:

объект DataTable.копия
объект DataTable.клон

2 Ответов

Рейтинг:
4

Maciej Los

Даже если вы не показали нам свой код, похоже, вы были довольно близки, потому что вам нужно использовать оба метода: Клон[^] и Копировать[^]. Видеть:

'create sample datatable (source)
Dim dtOrig AS DataTable = New DataTable()
dtOrig.Columns.Add(New DataColumn("Id", Type.GetType("System.Int32")))
dtOrig.Columns.Add(New DataColumn("UserName", Type.GetType("System.String")))
dtOrig.Columns.Add(New DataColumn("IsActive", Type.GetType("System.Boolean")))
dtOrig.Rows.Add(New Object(){1, "Adam", False})
dtOrig.Rows.Add(New Object(){2, "Ariel", True})
dtOrig.Rows.Add(New Object(){3, "Beast", False})
dtOrig.Rows.Add(New Object(){4, "Beauty", True})

''copy columns form original DataTable
Dim dtCopy  AS DataTable = New DataTable()
'create copy of original datatable (structure)
dtCopy = dtOrig.Clone()
'copy data
dtCopy = dtOrig.Copy()
'add new column
dtCopy.Columns.Add(New DataColumn("Salary", Type.GetType("System.Double")))
'insert default value for new column 
For i As Integer = 0 To dtCopy.Rows.Count-1
	Dim dr As DataRow = dtCopy.Rows(i)
	dr("Salary")= 100*(i+1.5)
Next


Вот и все!


Рейтинг:
18

OriginalGriff

Вы не можете сделать это совсем так: сделайте копию своей таблицы данных, а затем используйте столбцы.Добавить метод расширения копии: Добавьте новый столбец и данные в datatable, который уже содержит данные - c# - переполнение стека[^] - код на C#, но он довольно очевиден, и есть онлайн-конвертеры, если вы действительно не можете его понять.