以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- ValidateEdit (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129277) |
-- 作者:lfz123 -- 发布时间:2018/12/25 16:50:00 -- ValidateEdit 我在表事件的ValidateEdit写了如下代码:想实现如果输入的内容不包括在会计科目里面就取消输入呢 If e.Table.name = "凭证.凭证明细" Then If e.Col.name = "会计科目_一级科目" Then If e.Col.DroppedDown Then Dim trv As WinForm.TreeView = Forms("会计科目下拉").Controls("TreeView1") If e.Text > "" Then \'如果内容不为空 For Each nd As WinForm.TreeNode In trv.AllNodes If nd.FullPath.Contains(e.Text) Then Return Else e.cancel = True \'取消 End If Next End If End If End If End If
|
-- 作者:有点蓝 -- 发布时间:2018/12/25 17:14:00 -- If e.Table.name = "凭证.凭证明细" Then If e.Col.name = "会计科目_一级科目" Then If e.Col.DroppedDown Then Dim trv As WinForm.TreeView = Forms("会计科目下拉").Controls("TreeView1") If e.Text > "" Then \'如果内容不为空 For Each nd As WinForm.TreeNode In trv.AllNodes If nd.FullPath.Contains(e.Text) Then Return End If Next e.cancel = True \'取消 End If End If End If End If
|
-- 作者:lfz123 -- 发布时间:2018/12/26 10:39:00 -- 回复:(有点蓝)If e.Table.name = "凭证.凭证明细" ... 好像还是实现不了呢! |
-- 作者:有点蓝 -- 发布时间:2018/12/26 10:46:00 -- 上传具体实例测试 |
-- 作者:lfz123 -- 发布时间:2018/12/26 10:59:00 -- 回复:(有点蓝)If e.Table.name = "凭证.凭证明细" ... 我重新在帮助文件里面做了一个示例,不过不是下拉目录树,是下拉表,麻烦您在帮我看下呗! |
-- 作者:有点蓝 -- 发布时间:2018/12/26 11:11:00 -- 这个事件触发的时候,下拉已经关闭,无法从下拉里取值。直接从表格里查吧 If e.Table.name = "订单" Then If e.Col.name = "客户ID" Then If e.Text > "" Then \'如果内容不为空 Dim dr As DataRow = DataTables("客户").Find("客户ID=\'" & e.Text & "\'") If dr Is Nothing Then e.cancel = True \'取消 MessageBox.Show("请输入有效客户ID") End If End If End If End If |
-- 作者:lfz123 -- 发布时间:2018/12/26 11:25:00 -- 回复:(有点蓝)这个事件触发的时候,下拉已经关闭,... 我把这段代码屏蔽掉 \'If e.Col.DroppedDown Then \'如果下拉窗口已经打开 \'e.Col.CloseDropDown() \'则关闭下拉窗口 \'End If 还是不行,您说的就是这个事件触发时下拉窗口已经关闭,和关闭下来的代码是没有关系的,所以不能执行,是这样理解吗?
|
-- 作者:lfz123 -- 发布时间:2018/12/26 11:28:00 -- 回复:(lfz123)回复:(有点蓝)这个事件触发的时候... 按照您的方法可以了,自己在仔细体会下,这个方法很有用,我在用这个思路试着解决下下拉目录树的输入问题,感恩您! |