如何刪除數據表中的多行?我想從數據表中刪除一些行,例如,從第 10 行到第 35 行。並將更改保存到數據表中。
您可以使用 LINQ 僅選擇您想要的行,並將結果復製到數據表中:
Module Module1
Function SampleDataTable() As DataTable
Dim dt As New DataTable
dt.Columns.Add("Col1", Type.GetType("System.String"))
For i = 1 To 11
Dim dr = dt.NewRow()
dr(0) = i.ToString() & ChrW(i + 64)
dt.Rows.Add(dr)
Next
Return dt
End Function
Sub ShowDataTable(dt As DataTable)
For Each r As DataRow In dt.Rows
Console.WriteLine(String.Join(", ", r.ItemArray()))
Next
End Sub
Sub Main()
Dim dt = SampleDataTable()
Console.WriteLine("Before:")
ShowDataTable(dt)
' Assuming the first row is to be regarded as row number 1.
Dim firstDelete = 5
Dim lastDelete = 8
dt = dt.AsEnumerable().
Where(Function(r, i) i < firstDelete - 1 OrElse i >= lastDelete).
CopyToDataTable()
Console.WriteLine("After:")
ShowDataTable(dt)
Console.ReadLine()
End Sub
End Module
如果給Where函數提供第二個參數,它會用當前項目的索引(從 0 開始)填充它。
輸出:
Before:
1A
2B
3C
4D
5E
6F
7G
8H
9I
10J
11K
After:
1A
2B
3C
4D
9I
10J
11K
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen