此主题相关图片如下:15.jpg
DataColChanged代码如下,原本是没这个提示的,今天增加了红色部份的代码后提示了,不知道是什么原因引起的.
Select e.DataCol.Name
Case "sheet_no"
If e.DataRow.IsNull("sheet_no") Then
e.DataRow("sheet_lot") = Nothing
Else
Dim lb As String = e.DataRow("sheet_no")
If e.DataRow("sheet_lot").StartsWith(lb) = False '如果单据编号前缀不符
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(sheet_lot)","sheet_no = '" & lb & "'") '取得该类别的最大编号
If max > "" Then '如果存在最大编号
Dim n As Integer
n =max.IndexOf("_")
If n <>-1 Then
idx = CInt(max.Substring(n+1,3)) + 1 '获得最大编号的后三位顺序号,并加1
End If
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("sheet_lot") = lb & "_" & Format(idx,"000")
End If
End If
Case "part_no"
Dim cmd As New SQLCommand
Dim cmd1 As new SQLCommand
Dim dt As DataTable
Dim dt1 As DataTable
cmd.C
cmd.CommandText = "SELECT part_no,wf_cp_gz,wf_cp_ggrem,cu_part_no,wf_bz_fs,wf_edino,cu_part_no,wf_jsbkd,wf_bomkd,wf_scbkd,sheet_sta From {obas_part_spec} where [part_no] = '" & e.DataRow("part_no") &"'"
cmd1.C
cmd1.CommandText = "SELECT part_no,sal_unit_no From {obas_part1} where part_no = '" & e.DataRow("part_no") &"'"
dt = cmd.ExecuteReader()
dt1 = cmd1.ExecuteReader()
Dim dr As DataRow
dr = dt.Find("part_no = '" & e.DataRow("part_no") & "'")
If dr IsNot Nothing '如果找到, 则设置各列内容
e.DataRow("国家")= dr("wf_cp_gz")
e.DataRow("客户编码")= dr("cu_part_no")
e.DataRow("rem")= dr("wf_cp_ggrem") & "/ 电脑纹No." & dr("wf_edino") & "/ ABUS NO." & dr("cu_part_no")
e.DataRow("define1")= dr("wf_bz_fs")
e.DataRow("wf_jsbkd")= dr("wf_jsbkd")
e.DataRow("wf_bomkd")= dr("wf_bomkd")
e.DataRow("wf_scbkd")= dr("wf_scbkd")
e.DataRow("wf_guigesheet_sta")= dr("sheet_sta")
Else
e.DataRow("国家")= Nothing
e.DataRow("客户编码")= Nothing
e.DataRow("wf_jsbkd")= Nothing
e.DataRow("wf_bomkd")= Nothing
e.DataRow("wf_scbkd")= Nothing
e.DataRow("wf_guigesheet_sta")= Nothing
End If
Dim dr1 As DataRow =dt1.DataRows(0)
e.DataRow("sal_unit")= dr1("sal_unit_no")
Dim dr2 As DataRow=DataTables("料品资料查询表").Find("part_no = '" & e.DataRow("part_no") & "'")
If dr2 IsNot Nothing Then
Return
Else
Dim s As String =e.DataRow("part_no")
If s ="1" Then
Return
Else
'Dim Filter As String = "[part_no] = '" & s & "'"
DataTables("料品资料查询表").Load()
End If
End If
End Select