重置C列会出错滴,BIN兄。此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据
用SQL…………,这个…………
Select Case e.DataCol.Name
Case "C"
For Each dr As DataRow In e.DataTable.Datarows '当C列的值发生变化时,
Dim cs As DataRow = e.DataTable.Find("C like '" & dr("C") & "*'") '如果在表中找到C值与当前遍历行相似且以当前遍历行C值开头的行,则说明当前遍历行不是末级节点,否则当前遍历行就是末级节点
If cs IsNot Nothing Then
dr("T") = False
Else
dr("T") = True
End If
Next
End Select
并且,如果我将0102改为01.02,然后把"C like '" & dr("C") & "*'"改为"C like '" & dr("C") & ".*'"
执行重置C列就完全没有问题,可以看到该标记为末级节点的都标记成功。并且修改任意一行的C值,会重新标记所有列的T
[此贴子已经被作者于2015/5/9 10:58:25编辑过]