如图所示的折叠表,我在表A的DataColChanged事件中代码如下:
Select Case e.DataCol.Name
Case "父ID"
If e.DataRow.IsNull("父ID") = False Then
'当父ID变化时,自动维护当前行的层级
Dim index As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow) '查找修改的单元格所在的row的行号
Dim current As Row = Tables(e.DataTable.Name).Rows(index)
If Tables(e.DataTable.Name).GridTreeVisible = False Then '如果没有开启折叠模式,则开启。因为只有开启折叠模式之后才能获取正确的层级
Tables(e.DataTable.Name).ShowGridTree
End If
Current("层级") = Current.Hierarchy
End If
End Select
发现问题:当通过"左移""右移"当前节点时,父ID虽然是会自动维护而变化,但是父ID变化却不会触发上述代码。不知道算不算bug