我有一个由数据表填充的 flexgrid。然后我按指定的列分组并添加节点以使用 treeview 属性。问题是,例如,如果我有 1000 条记录并将其分成 20 个组,那么最后我将有 20 条记录添加到最后一个节点,因为它停止查看 1000 行,包括它的节点创建,这意味着它会认为网格中有 1020 行。这是我用来创建节点的函数:
Private Sub GroupBy(ByVal colName As String, ByVal level As Integer)
Dim current As Object = ""
For i As Integer = fgResults.Rows.Fixed To _data.Tables("Results").Rows.Count - 1
If Not fgResults.Rows(i).IsNode Then
Dim value As Object = fgResults.Item(i, colName).ToString
If Not Object.Equals(value, current) Then
fgResults.Rows.InsertNode(i, level)
fgResults.Item(i, colName) = value
current = value
End If
End If
Next
End Sub
colName 是我分组的列的名称,level 是节点的级别(我在这里总是使用 0,因为我只想要一层)。我在想的是,如果有办法让 for 循环运行到数据表结束,那将是最好的解决方案。感谢您的任何帮助。