代码如下:
'''
Dim dr As DataRow=e.DataRow
If e.DataCol.Name = "分组" Then
If dr.IsNull("分组") Then
dr("父键") = Nothing
dr("主键")= Nothing
dr("名称")=Nothing
Else
Dim txt As String = dr("分组")
Dim dr1 As DataRow
dr1= DataTables("主表").find("[分组]='" & txt & "'")
If dr1 IsNot Nothing Then
dr("父键")= dr1("父键")
else
Dim max As String = e.DataTable.Compute("Max(父键)")
Dim idx As Integer
If max > "" Then
idx = CInt(max)+1
MessageBox.Show(idx)
Else
idx=1
End If
dr("父键")=Format(idx,"00")
End If
End If
End If
表如截图
此主题相关图片如下:360截图17290511151633.png
想实现:
1.在添加一行时,如果“分组”列的内容在原表中已经有了,父键中的值就等于相应的值。如新增行中的“分组”列为“科研管理”,父键值为“04”(已实现)。如果没有,则父键值在原来最大值上添加1,并填入“父键”中.