以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于文本控件只读与不只读  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87295)

--  作者:scofields
--  发布时间:2016/7/7 17:05:00
--  关于文本控件只读与不只读
红袍老师,这个窗口里的“新增”按钮,在用户单击后,上面的文本控件才恢复可用状态,如果没有单击,为只读状态。我写的如下代码貌似没有用:

if e.sender= true then
e.form.controls("ComboBox1").enabled= true
else
e.form.controls("ComboBox1).readonly=true
end if
用户单击新增按钮后,不可以上下点击查看其它记录

--  作者:scofields
--  发布时间:2016/7/7 17:06:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:船只报港.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/7/7 17:09:00
--  

直接写

 

 
e.form.controls("ComboBox1").ReadOnly = BooleanEnum.true
 
[此贴子已经被作者于2016/7/7 17:46:08编辑过]

--  作者:scofields
--  发布时间:2016/7/7 17:17:00
--  
不懂这个代码,红袍老师,能解释下吗?写到哪里去?
--  作者:大红袍
--  发布时间:2016/7/7 17:18:00
--  
现在按钮click事件
--  作者:scofields
--  发布时间:2016/7/7 17:31:00
--  
红袍老师,我就想实现不单击新增按钮时,所有的文本控件都是只读状态,单击后,文本控件可以编辑输入内容
--  作者:大红袍
--  发布时间:2016/7/7 17:45:00
--  

afterLoad事件

 

e.form.controls("ComboBox1").ReadOnly= BooleanEnum.true

 

Clik事件

 

e.form.controls("ComboBox1").ReadOnly = BooleanEnum.False

[此贴子已经被作者于2016/7/7 17:45:53编辑过]

--  作者:scofields
--  发布时间:2016/7/16 19:26:00
--  
红袍老师,这段代码怎么修改?我发现写入到窗口按钮里没有用啊!
Dim val As String 
Dim dr As DataRow = Tables("FAJHB").Current.DataRow
 If val = dr.SQLGetValue("过磅1")= True Then
 e.form.controls("车号1").ReadOnly = BooleanEnum.True
 e.Form.controls("吨位1").ReadOnly = BooleanEnum.True
Else
 e.form.controls("车号1").ReadOnly = BooleanEnum.False
 e.Form.controls("吨位1").ReadOnly = BooleanEnum.False
End If

--  作者:狐狸爸爸
--  发布时间:2016/7/18 8:10:00
--  
换个思路,代码不变,移到车号1和吨位1的Enter事件中。
http://www.foxtable.com/webhelp/scr/0734.htm

或者写在全局的Enter事件中,代码可以改为:
Dim val As String
Dim dr As DataRow = Tables("FAJHB").Current.DataRow
If e.sender.name = "车号1" OrElse e.Sender.Name = "吨位1" Then
    If val = dr.SQLGetValue("过磅1")= True Then
        e.form.controls("车号1").ReadOnly = BooleanEnum.True
        e.Form.controls("吨位1").ReadOnly = BooleanEnum.True
    Else
        e.form.controls("车号1").ReadOnly = BooleanEnum.False
        e.Form.controls("吨位1").ReadOnly = BooleanEnum.False
    End If
End If