名前が示すように、データテーブルで行をグループ化しようとしています。さらに詳しく説明すると、このテーブルには 1 つのフィールド (列) を除いて同一の行があります。基本的に私がやろうとしているのは、同じ行のすべての異なるフィールドを配置し、他の行を削除しながらそれらを単一のフィールドに配置することです。
ここに私が現在使用している構文があります
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
問題は、行を削除するときにインデックスが変更され、基本的にフィールドがそれとは関係のない別の行にスローされることです。