如其名,我正在尝试在数据表中对行进行分组。更详细地说,这个表具有相同的行,除了一个字段(列)之外。基本上,我想做的是将相同行的所有不同字段放入单个字段中,同时删除其他行。
这是我目前正在使用的语法:
Dim i As Integer
Dim j As Integer
For i = 0 To (ds.Tables(0).Rows.Count() - 1) Step 1
If (i < ds.Tables(0).Rows.Count()) Then
roleHtml = "<table><tr><td>" + ds.Tables(0).Rows(i).Item("roleName") + "</td></tr>"
For j = (ds.Tables(0).Rows.Count() - 1) To 0 Step -1
If (ds.Tables(0).Rows(i).Item("UserName") = ds.Tables(0).Rows(j).Item("UserName")) And (ds.Tables(0).Rows(i).Item("roleName") IsNot ds.Tables(0).Rows(j).Item("roleName")) Then
roleHtml += "<tr><td>" + ds.Tables(0).Rows(j).Item("roleName") + "</td></tr>"
ds.Tables(0).Rows.Remove(ds.Tables(0).Rows(j))
i -= 1
End If
Next j
roleHtml += "</table>"
ds.Tables(0).Rows(i).Item("roleName") = roleHtml
End If
Next i
问题在于删除行后,它们的索引会改变,导致该字段被扔到另一行中,与其无关。