Foxtable(狐表)用户栏目专家坐堂 → [求助]普通用户登录,下拉列表窗口报错


  共有1743人关注过本帖树形打印复制链接

主题:[求助]普通用户登录,下拉列表窗口报错

帅哥哟,离线,有人找我吗?
pladic
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:225 积分:2015 威望:0 精华:0 注册:2015/12/23 11:59:00
[求助]普通用户登录,下拉列表窗口报错  发帖心情 Post By:2016/12/2 17:41:00 [只看该作者]

以普通用户登录后,第一次增加行,在地址列输入字符,打开下拉列表窗口,可正常选择。以后,再增加行,在地址列打开下拉列表窗口后,报错。截图如下:


此主题相关图片如下:地址列下拉列表错误.jpg
按此在新窗口浏览图片

 

但是,以开发者登录,则不会出现上述错误。

 

源代码:

 

表事件

 

订户信息表_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 '如果单击的是第二层节点
    Dim tr As Row = Tables("客户").Current
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
    tr("省市") = dr("省市")
    tr("县市") = dr("县市")
    tr("区号") = dr("区号")
    tr("邮编") = dr("邮编")
    e.Form.DropDownBox.Value = tr("县市") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
|
    e.Form.DropDownBox.CloseDropdown()

End
 If

 

<!--EndFragment-->

[此贴子已经被作者于2016/12/2 17:48:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/2 17:56:00 [只看该作者]

上例子测试看看

 回到顶部
帅哥哟,离线,有人找我吗?
pladic
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:225 积分:2015 威望:0 精华:0 注册:2015/12/23 11:59:00
回复:(有点蓝)上例子测试看看  发帖心情 Post By:2016/12/2 19:10:00 [只看该作者]

用的是在服务器上的SQL server

怎么传例子?数据表和代码

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/3 8:44:00 [只看该作者]

把有问题的表和窗口导入新项目测试,如果还有同样的问题,就上传这个新项目

 回到顶部