以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]不知是操作系统的问题还是狐表的BUG?(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49310) |
-- 作者:yyzlxc -- 发布时间:2014/4/15 20:13:00 -- [求助]不知是操作系统的问题还是狐表的BUG?(已解决) 一段在命令窗口执行正常的代码,在窗口的AfterLoad事件中却不能正常执行, 现在只能放在项目属性的MainTableChanged事件中运行,不知是否妥当。 执行异常的是红色代码的部分,在窗口的AfterLoad事件中运行,不能根据用户名填充ComboBox1,以及不能根据角色解锁ComboBox1(可以锁定)。不知是操作系统的问题还是狐表的BUG,请各位老师指教。谢谢!! Dim cmb As New SQLCommand cmb.C \'外部数据源 cmb.CommandText = "Select GetDate()" \'服务器时间 Dim sj As Date = cmb.ExecuteScalar() Dim rq As Date = sj.Date Dim rq1 As WinForm.TextBox = Forms("工具录入").Controls("TextBox19") rq1.Value = Format(rq,"yyyy-MM-dd") Dim gjmc As WinForm.ComboBox = Forms("工具录入").Controls("ComboBox2") gjmc.ComboList = DataTables("工具目录").GetComboListString("工具名称") If _UserGroup <> "生产" And _UserGroup <> "开发" Then Forms("工具录入").Controls("ComboBox1").Enabled = False \'填充单位 Dim pr2 As DataRow pr2 = DataTables("用户表").Find("姓名 = \'" & _UserName & "\'") Dim a2 As String If pr2 IsNot Nothing Then a2 = pr2("单位") Else a2 = Nothing End If Forms("工具录入").Controls("ComboBox1").Text = a2 Else Forms("工具录入").Controls("ComboBox1").Enabled = True Dim sydw As WinForm.ComboBox = Forms("工具录入").Controls("ComboBox1") sydw.ComboList = DataTables("部门表").GetComboListString("部门1") End If [此贴子已经被作者于2014-4-16 11:41:53编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/4/15 20:54:00 -- 不可能是bug吧,不能如愿,是这句代码的原因
IF _UserGroup <> "生产" And _UserGroup <> "开发" Then
你msgbox一下_UserGroup看看,注意可能有空格的的情况。 |
-- 作者:yyzlxc -- 发布时间:2014/4/15 22:33:00 -- 谢谢甜老师的回复,如果是_UserGroup字段有空格的话,在命令窗口也不应该运行正常呀?百思不得其解。 因为是SQL Server数据库和自定义登录,否则应该做一个案例上传验证一下。再次谢谢甜老师。 |
-- 作者:有点甜 -- 发布时间:2014/4/15 22:46:00 -- 以下是引用yyzlxc在2014-4-15 22:33:00的发言:
谢谢甜老师的回复,如果是_UserGroup字段有空格的话,在命令窗口也不应该运行正常呀?百思不得其解。 因为是SQL Server数据库和自定义登录,否则应该做一个案例上传验证一下。再次谢谢甜老师。
你加入这句代码看看效果,截图上来
msgbox("你好" & _UserGroup & "啊") |
-- 作者:yyzlxc -- 发布时间:2014/4/16 6:55:00 -- 谢谢甜老师的指教,上截图。 |
-- 作者:blackzhu -- 发布时间:2014/4/16 7:44:00 -- 代码应该没啥问题.如果你在命令窗口执行,而这边不执行的话,你自己好好检查下吧 |
-- 作者:yyzlxc -- 发布时间:2014/4/16 8:02:00 -- 谢谢blackzhu老师的回复,应该从那几个方面去检查,请老师指教,谢谢!! 窗口的AfterLoad载人会有哪些因素影响? [此贴子已经被作者于2014-4-16 8:03:56编辑过]
|
-- 作者:逛逛 -- 发布时间:2014/4/16 8:08:00 -- AfterLoad 事件是一次性的,只有打开窗口时执行
楼主可以检查一下窗口是否设置成了自动打开
如果是,应该是在加载表的时候,代码就已经执行了。
试试关闭自动打开,用代码执行打开窗口。 |
-- 作者:yyzlxc -- 发布时间:2014/4/16 11:03:00 -- 谢谢逛逛老师的指教,将窗口的自动打开取消后,项目重新启动可以实现所需的效果,但是用切换用户的方法,则不能达到所需效果,有没有用代码对窗口的AfterLoad事件重新加载的方法,请各位老师指教,谢谢。 |
-- 作者:有点甜 -- 发布时间:2014/4/16 11:11:00 -- 以下是引用yyzlxc在2014-4-16 11:03:00的发言:
谢谢逛逛老师的指教,将窗口的自动打开取消后,项目重新启动可以实现所需的效果,但是用切换用户的方法,则不能达到所需效果,有没有用代码对窗口的AfterLoad事件重新加载的方法,请各位老师指教,谢谢。
你切换用户的时候,是否有更改 _UserGroup 的值? |