‘ 以下代码实现采购单价的统一性。
If e.DataCol.Name
= "型号" Then \'如果内容发生变动的是型号列
If e.NewValue Is Nothing Then \'如果新值是空白,也就是型号列的内容为空
e.DataRow("单价") =
Nothing \'那么清空此行单价列的内容
Else
Dim dr As DataRow
\'否则在采购明细表查找同名的产品行,将找到的行赋值给变量dr
dr = DataTables("采购明细").Find("[型号] = \'" &
e.NewValue & "\'")
If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
e.DataRow("单价") = dr("单价")
End If
End If
End If
‘以下代码实现如有价格变动,确保系统能正确区分同一产品不同时期的价格差异,并提示用户确认。
If e.Col.Name = "单价" Then
\'如果正在输入的是单价列
If e.Text > ""
Then \'如果已经输入内容
Dim v As Double = Val(e.Text)
If v < > dr("单价") Then \'将输入的内容与以往同名产品价格做比较。
MessageBox.Show("此价格与历往价格有差异,确定要修改,请在价格较低的型号后加“特价”两字,否则系统将无法区分!",
"警告", MessageBoxButtons.OK, MessageBoxIcon.Information)
e.Cancel = True \'则取消输入
Dim wz As Integer
Dim dr As DataRow
dr = DataTables("采购明细表").Find("[型号] = \'" & e.Table.Current("型号")
& "\'")
If dr IsNot Nothing Then
wz = Tables("型号").FindRow(dr)
If wz >= 0 Then
Tables("型号").Position
= wz
End If
End If
.. End If
End If
End If