-- 作者:hrw68529
-- 发布时间:2015/2/15 14:14:00
-- [讨论]自动编号怎么处理?
如何按下述代码,生成"类别-001"这样的格式,也就是在类别和编号中间,加一个横线,在下述代码中,加入后,全部生成类别-001,而不是类别-001,类别-002,....., Select e.DataCol.Name Case
"类别" If
e.DataRow.IsNull("类别")
Then
e.DataRow("编号") = Nothing Else Dim lb
As
String = e.DataRow("类别") If e.DataRow("编号").StartsWith(lb) = False
\'如果单据编号前缀不符 Dim max As
String Dim idx As
Integer max = e.DataTable.Compute("Max(编号)","类别 =
\'" & lb &
"\' And
[_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
If max > ""
Then
\'如果存在最大编号 idx =
CInt(max.Substring(2,3)) + 1
\'获得最大编号的后三位顺序号,并加1 Else idx = 1
\'否则顺序号等于1 End
If e.DataRow("编号") = lb & Format(idx,"000") End
If End
If End
Select
|
-- 作者:hrw68529
-- 发布时间:2015/2/15 14:43:00
--
你看看代码,也加了,就是不行:Select e.DataCol.Name Case "区分" If e.DataRow.IsNull("区分") Then e.DataRow("序号") = Nothing Else Dim lb As String = e.DataRow("区分") & "-" If e.DataRow("序号").StartsWith(lb) = False \'如果单据编号前缀不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(序号)","区分 = = \'" & lb & "\'And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(2,3)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("序号") = lb & Format(idx,"000") End If End If End Select 出现如下情况: 此主题相关图片如下:截图00.png
|