想达到的效果:1.不允许表中输入数据
2.一天中,姓名列不允许重复(日期列和姓名列的值不允许相同)
3.日期列输入不允许< date.today
4.已经录入的订单,不允许修改日期(日期为非空只读)
5.新增加的订单,录入日期的时候,点击能自动录入当天日期。
输入均在窗口实行,窗口插入了table,可以换行输入
实现以上要求,全部代码都写在哪个事件中,请老大们指点
现在的情况是:
表事件:
PrepareEdit事件
e.cancel = True
datacolchanged事件
Dim fl As String
Select Case e.DataCol.Name
Case "姓名","发货日期"
fl = "姓名 = '" & e.DataRow("姓名") & " 'And 发货日期 = #" & e.DataRow("发货日期") & "#"
If e.DataTable.Compute("count(姓名)", fl) > 1 Then
MessageBox.Show("此客户今天订单已录入,请查询该客户姓名,并加录订单!")
e.DataRow(e.DataCol.Name)= Nothing
End If
End Select
窗口日期控件事件:
enter事件:
Dim a As WinForm.DateTimePicker
a = e.Form.Controls("发货日期")
With e.Form.Controls("发货日期")
If .value = Nothing Then
a.ReadOnly = BooleanEnum.default
Else
a.ReadOnly = BooleanEnum.True
End If
End With '''发货日期将锁定非空值,可以使得编号日期全部正确
Validating事件:
Dim sd As WinForm.DateTimePicker = e.Form.Controls("发货日期")
If sd.Value < Date.Today
MessageBox.Show("发货日期不能小于今天!","提示", MessageBoxButtons.OK ,MessageBoxIcon.Information)
e.Cancel = True
End If
不知道哪里出了问题,反正日期列输入一直出现问题,请大大们帮忙看看