我正在尝试创建一个包含我从GridView列中读取的项目的数据表。 GridView I读者看起来像这样:
SELECT COURSE NAME
Select Course_1 USER_1
Select Course_2 USER_2
Select Course_3 USER_3
这是我的代码:
Dim dt As New DataTable()
Dim dtcopy As New Datatable()
dt.Columns.Add("File",GetType(String))
For Each row As GridViewRow In GV_PDBC.Rows
For i As Integer = 1 To GV_PDBC.Rows.Count - 1
strname = row.Cells(2).Text
dt.Rows.Add(strname)
dtcopy.Merge(dt, True, MissingSchemaAction.AddWithKey)
Next
Next
重复阅读专栏。以下是数据表结果:
USER_1
USER_1
USER_1
USER_1
USER_1
USER_1
USER_1
USER_2
USER_2
...
我想我只是遗漏了一些东西。请帮忙。提前谢谢
答案 0 :(得分:0)
为此编写代码的正确方法:
Dim dt As New DataTable()
Dim dtcopy As New Datatable()
dt.Columns.Add("File",GetType(String))
'This loop will iterate all gridview rows
For Each row As GridViewRow In GV_PDBC.Rows
'Determine the row type.
if row.RowType = DataControlRowType.DataRow Then
strname = row.Cells(2).Text
dt.Rows.Add(strname)
End If
Next
答案 1 :(得分:0)
重复值是第二个循环的bcz,
For i As Integer = 1 To GV_PDBC.Rows.Count - 1
Next
你需要删除for循环,结果将是
USER_1
USER_2
USER_3
代码将是:
Dim dt As New DataTable()
Dim dtcopy As New DataTable()
dt.Columns.Add("File", GetType(String))
For Each row As GridViewRow In GV_PDBC.Rows
strname = row.Cells(2).Text
dt.Rows.Add(strname)
dtcopy.Merge(dt, True, MissingSchemaAction.AddWithKey)
Next