如何將dataTable中的一行傳輸到datarow,然后將datarow傳遞給新的dataTable
Public function fn_transfer(dt as dataTable)
Dim dtNew as new dataTable
dtNew = dt.Clone()
For i as integer= 0 to dt.rows.count -1
If dt.rows(i)("name").ToString.trim = "" or
dt.rows(i)("street").ToString.trim = "" then
Dim dr() as new datarow
For each dr in dt.rows(i)
dr = dt.Rows(i).Itemarray
Next
dtNew.importrow(dr(0))
Next
此代碼不起作用。請糾正代碼。
uj5u.com熱心網友回復:
所以你只想匯入那些 Name 或 Street 為空的行?
如果您想使用回圈,這應該可以:
For Each r As DataRow in dt.rows
If String.IsNullOrEmpty(r.Field(Of String)("Name")) OrElse String.IsNullOrEmpty(r.Field(Of String)("Steet"))
dtNew.importrow(row)
End If
Next
另一種方法是使用 LINQ 和CopyToDataTable:
Dim dtNew as DataTable = dt.Clone() ' empty table with same columns
Dim filteredRows = dt.AsEnumerable().
Where(Function(r) String.IsNullOrEmpty(r.Field(Of String)("Name")) OrElse String.IsNullOrEmpty(r.Field(Of String)("Steet"))).
ToList()
If filteredRows.Any() Then dtNew = filteredRows.CopyToDataTable()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/416491.html
標籤:
上一篇:vb.net選擇陳述句失敗
