以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教:非特定用户,禁止编辑文本框,仅能浏览、复制  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51077)

--  作者:bahamute
--  发布时间:2014/5/19 14:10:00
--  请教:非特定用户,禁止编辑文本框,仅能浏览、复制
文本控件绑定到列,
想实当审核结果列为true时,非特定用户,禁止编辑文本框,仅能浏览

但文本控件没有e.cancel属性

该如何实现?


从表属性PrepareEdit设置如下代码,从表里测试OK,但从窗口测试失效!

If e.Row("审核状态") = True AndAlso _UserName <> "经理" Then

    e.Cancel = True

End If


请教:

窗口控件该如何实现上述目的




--  作者:有点甜
--  发布时间:2014/5/19 14:11:00
--  

 看来这里

 

http://www.foxtable.com/help/topics/0624.htm

 


--  作者:Bin
--  发布时间:2014/5/19 14:13:00
--  
在窗口AlterLoad事件中

把文本框设置为只读


--  作者:有点甜
--  发布时间:2014/5/19 14:15:00
--  

 或者,写文本框的enter事件

 

If Tables("xxx").Current("审核状态") = True AndAlso _UserName <> "经理" Then
    e.sender.readonly = True
Else
    e.sender.readonly = False
End If


--  作者:bahamute
--  发布时间:2014/5/19 14:31:00
--  
还是没参透,
我想实现如果是非特定人员,开始编辑文本框时,能弹出提醒对话框,避免其输入很多内容后才发现无权编辑。
[此贴子已经被作者于2014-5-19 14:31:44编辑过]

--  作者:bahamute
--  发布时间:2014/5/19 14:33:00
--  
谢谢4楼,刚刚看见。
--  作者:bahamute
--  发布时间:2014/5/19 15:01:00
--  
回复四楼:
代码没有效果,
e.sender.readonly = False不起作用

--  作者:bahamute
--  发布时间:2014/5/19 15:03:00
--  
代码如下
If Tables("填报总表").Current("审核状态") = True Then
    e.sender.readonly = False
Else 
    e.sender.readonly = True
End If

--  作者:有点甜
--  发布时间:2014/5/19 15:04:00
--  

 试试改成

 

e.sender.ReadOnly = BooleanEnum.False


--  作者:bahamute
--  发布时间:2014/5/19 15:08:00
--  
这个也不行,代码精灵里弹出来了,刚刚试了。