以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]普通用户登录,下拉列表窗口报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93635) |
-- 作者:pladic -- 发布时间:2016/12/2 17:41:00 -- [求助]普通用户登录,下拉列表窗口报错 以普通用户登录后,第一次增加行,在地址列输入字符,打开下拉列表窗口,可正常选择。以后,再增加行,在地址列打开下拉列表窗口后,报错。截图如下:
但是,以开发者登录,则不会出现上述错误。
源代码:
表事件 订户信息表_PrepareEdit Select Case e.Col.name Case "地址" e.Col.dropform="地址窗口-订户表" \'vars("") Case "单位" e.Col.dropform="级别窗口" End Select 订户信息表_ValidateEdit If e.Col.DroppedDown Then \'如果下拉窗口已经打开 e.Col.CloseDropDown() \'则关闭下拉窗口 End If 订户信息表_ChangeEdit If e.Col.name = "地址" Then \'如果输入的是产品编码 \' e.Col.dropform="地址窗口-订户表" 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.Text.IndexOf(e.Text) >= 0 Then trv.StopRedraw() trv.SelectedNode = nd nd.EnsureVisible() trv.ResumeRedraw() trv.Select() Exit For End If Next End If End If End If 订户信息表_KeyPressEdit \'If e.Col.name = "三级" Then \'If e.Col.DroppedDown = False \'如果下拉窗口没有打开 \'e.Col.OpenDropDown() \'打开下拉窗口 \'End If \'End If If e.Col.name = "地址" Then If e.Col.DroppedDown = False \'如果下拉窗口没有打开 e.Col.OpenDropDown() \'打开下拉窗口 End If End If
nodemouseclick代码与说明文件一样,只是列名称不同
TreeView(目录树)的NodeMouseClick事件代码设置为: If e.Node.Level = 1 Then \'如果单击的是第二层节点 <!--EndFragment--> [此贴子已经被作者于2016/12/2 17:48:23编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/12/2 17:56:00 -- 上例子测试看看 |
-- 作者:pladic -- 发布时间:2016/12/2 19:10:00 -- 回复:(有点蓝)上例子测试看看 用的是在服务器上的SQL server 怎么传例子?数据表和代码
|
-- 作者:有点蓝 -- 发布时间:2016/12/3 8:44:00 -- 把有问题的表和窗口导入新项目测试,如果还有同样的问题,就上传这个新项目 |