Foxtable(狐表)用户栏目专家坐堂 → 关于文本控件只读与不只读


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

主题:关于文本控件只读与不只读

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


加好友 发短信
等级:二尾狐 帖子:564 积分:4561 威望:0 精华:0 注册:2016/4/17 20:05:00
关于文本控件只读与不只读  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:564 积分:4561 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2016/7/7 17:06:00 [只看该作者]


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

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/7 17:09:00 [只看该作者]

直接写

 

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

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


加好友 发短信
等级:二尾狐 帖子:564 积分:4561 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2016/7/7 17:17:00 [只看该作者]

不懂这个代码,红袍老师,能解释下吗?写到哪里去?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/7 17:18:00 [只看该作者]

现在按钮click事件

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


加好友 发短信
等级:二尾狐 帖子:564 积分:4561 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2016/7/7 17:31:00 [只看该作者]

红袍老师,我就想实现不单击新增按钮时,所有的文本控件都是只读状态,单击后,文本控件可以编辑输入内容

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:564 积分:4561 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By: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

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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

 回到顶部