Select Case e.DataCol.Name
Case "图纸下发日期", "清单条码编码"
If e.DataRow.IsNull("图纸下发日期") Then
e.DataRow("清单条码编码") = Nothing
Else
' Dim dl As Date = Date.Today
Dim dl As Date = e.DataRow("图纸下发日期")
Dim y As Integer = dl.Year
Dim m As Integer = dl.Month
Dim d As Integer = dl.day
Dim Days As Integer = Date.DaysInMonth(y, m)
Dim fd As Date = New Date(y, m, 1) '获得该月的第一天
Dim ld As Date = New Date(y, m, Days) '获得该月的最后一天
Dim bh As String = Format(dl, "yyyyMMdd") '生成编号的前8位,4位年,2位月.
If e.DataRow("清单条码编码").StartsWith(bh) = False Then'如果编号的前8位不符
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(清单条码编码)", "图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
If max > "" Then '如果存在最大编号
' idx = CInt(max.Substring(max.length - 4)) + 1
idx = CInt(max.Substring(8, 6)) + 1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("清单条码编码") = bh & Format(idx, "000000")
'msgbox("图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify"))
' max = e.DataTable.Compute("Max(清单条码编码)", "图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
'msgbox("|" & max & "|")
End If
End If
End Select