Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
想达到的效果: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
不知道哪里出了问题,反正日期列输入一直出现问题,请大大们帮忙看看
这个是我做的样板,原版连接着外部数据源,上传了大大打不开。。。锁定状态下,窗口中日期控件可以改变日期值,奇怪
下载信息 [文件大小: 下载次数: ] | |
![]() |
将这段代码放到DataParse 事件中,这段代码我改过了,你写错了,然后删除原
窗口日期控件事件:enter事件中的代码
Dim a As WinForm.DateTimePicker
a = e.Form.Controls("发货日期")
With e.Form.Controls("发货日期")
If .value = Nothing Then
a.ReadOnly = BooleanEnum.True
Else
a.ReadOnly = BooleanEnum.default
End If
End With '''发货日期将锁定非空值,可以使得编号日期全部正确
还是不行。。。。日期输入框的下拉菜单点击没有反应,有时候增加行无法输入日期。。。
或者把Enter事件代码改为:
If Tables("客户").Current.IsNull("发货日期") = False Then
e.sender.ReadOnly= BooleanEnum.True
Else
e.sender.ReadOnly = BooleanEnum.False
End If