以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自动编号问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123947) |
-- 作者:cqlwsam -- 发布时间:2018/8/27 17:39:00 -- [求助]自动编号问题 代码如下: \'\'\' 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 表如截图 想实现: 1.在添加一行时,如果“分组”列的内容在原表中已经有了,父键中的值就等于相应的值。如新增行中的“分组”列为“科研管理”,父键值为“04”(已实现)。如果没有,则父键值在原来最大值上添加1,并填入“父键”中.
|
-- 作者:有点甜 -- 发布时间:2018/8/27 17:44:00 -- 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 & "\' and _Identify <> " & dr("_Identify")) 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 |