编号不能自动生成,不知道错在哪里?代码如下
Select e.DataCol.Name
Case "项目编号","合同类型"
If e.DataRow.IsNull("项目编号") OrElse e.DataRow.IsNull("合同类型") Then
e.DataRow("合同编号") = Nothing
Else
Dim s As String = e.DataRow("合同编号")
If e.DataRow("合同类型") = "劳务合同" Then
s = "LW"
ElseIf e.DataRow("合同类型") = "采购合同" Then
s = "CG"
ElseIf e.DataRow("合同类型") = "租赁合同" Then
s = " ZL "
ElseIf e.DataRow("合同类型") = "其他合同" Then
s = " QT "
ElseIf e.DataRow("合同类型") = "分包合同" Then
s = " FB "
Else
End If
Dim bh As String = e.DataRow("项目编号") & s '生成合同编号的前缀
If e.DataRow("合同编号").StartsWith(bh) = False '如果合同编号前缀不符
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "项目编号 = '"& e.DataRow("项目编号") & bh & "' And [_Identify] <> " & e.DataRow("_Identify")
max = e.DataTable.Compute("Max(合同编号)",flt) '取得该类别的最大编号
If max > "" Then '如果存在最大编号
idx = CInt(max.Substring(9,3)) + 1 '获得最大编号的后三位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("合同编号") = bh & Format(idx,"000")
End If
End If
End Select