通常我们都知道可以使用OleDbDataAdapter对象的Fill方法从数据源检索数据并填充DataSet 中的DataTable,其实我们也可以人工为DataTable添加DataRow。
一、Rows.Add和Rows.InsertAt方法
Add和InsertAt方法都可以把新行添加到DataTable。
新一个Windows应用程序,在Form1窗体拉入一个按钮和DataGridView。
在Form1代码界面添加如下代码:
Public Class Form1
'声明DataTable
Dim dt1 As New DataTable
Dim dt2 As New DataTable
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'为dt1创建结构
dt1.Columns.Add("ID", Type.GetType("System.Int32"))
dt1.Columns.Add("Name", Type.GetType("System.String"))
'为dt1添加测试用数据
Dim row As DataRow
For i As Integer = 1 To 10
row = dt1.NewRow
row("ID") = i
row("Name") = "Name" & i.ToString
'添加新行
dt1.Rows.Add(row)
'插入新行
'dt1.Rows.InsertAt(row, 0)
Next
End Sub
End Class
二、DataTable.Copy和DataTable.Clone方法
测试代码1:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'复制dt1的结构和数据
dt2 = dt1.Copy()
'UI界面显示dt2数据
DataGridView1.DataSource = Nothing
DataGridView1.DataSource = dt2
End Sub
测试结果: