Foxtable(狐表)用户栏目专家坐堂 → 按键问题


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

主题:按键问题

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
按键问题  发帖心情 Post By:2023/8/7 10:09:00 [只看该作者]

需求:当表A的数量列的行为空时,窗口_删除键为编辑,否则,表A的数量列的行为不空时为,窗口_删除键可编辑
下面代码,执行都为不可编辑,如何改,实现上面需求?

If DataTables("表A").compute("count(数量)", "数量= 0")  Then
  forms("窗口").controls("窗口_删除键").enabled = True
  
Else
     forms("窗口").controls("窗口_删除键").enabled = False

End If

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 10:19:00 [只看该作者]

指任意一行不空时为,窗口_删除键可编辑?

If DataTables("表A").compute("count(数量)", "
数量 is not null")  > 0 Then.
forms("窗口").controls("窗口_删除键").enabled = False
else
forms("窗口").controls("窗口_删除键").enabled = trure

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/7 11:05:00 [只看该作者]

问题一:
指任意一行不空时为,窗口_删除键可编辑?任意一行,是当前单击或选择表上任意行的数据,如果当前行的数量不为空,窗口_删除键可编辑,如果当前行的数量为空,窗口_删除键可编辑。我把
2楼代码放在窗口打开后、窗口全局,窗口表的选择事件,测试,不管数据有无数据,都是不可编辑?

问题二:
窗口全局

需求:文本框、时间录入框为空时,窗口_新增键为不编辑,否则,为可编辑,
执行下面代码,无报错,无反应,之前文本框、时间录入框绑定字段是可以,现在没有绑定字段不行,如何解决?
Dim t1 As String = e.form.controls("TextBox1").text '
Dim t2 As String = e.form.controls("DateTimePicker1").text ' 
Dim t3 As String = e.form.controls("DateTimePicker2").text '

e.form.controls("窗口_新增键").enabled = Not ( t1 = "" OrElse t2 = "" OrElse t3 = "") ',

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 11:17:00 [只看该作者]

1、没看懂,是整表随便一行(或者理解为只要有任意一行,不一定是当前选中的行)为空,还是只是当前选中的行?

2、如果控件是绑定的,建议到表事件处理

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/7 13:15:00 [只看该作者]

1.
此主题相关图片如下:按键事件.jpg
按此在新窗口浏览图片
只要有任意一行,当前选中的行为空时,窗口_删除键可编辑,否则,窗口_删除键可编辑

2.           3楼代码,现在是控件没绑定的字段,造成失效。



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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 13:35:00 [只看该作者]

1、到表格currentchanged事件处理
If e.Table.Current Is Nothing Then '如果Current为Nothing
    '没有选定行时执行的代码
forms("窗口").controls("窗口_删除键").enabled = false
Else
forms("窗口").controls("窗口_删除键").enabled = e.Table.Current.isnull("数量")
End If

2、代码放到控件的textchanged事件

Dim t1 As String = e.form.controls("TextBox1").text '
Dim t2 As String = e.form.controls("DateTimePicker1").text ' 
Dim t3 As String = e.form.controls("DateTimePicker2").text '

e.form.controls("窗口_新增键").enabled = Not ( t1 = "" OrElse t2 = "" OrElse t3 = "") ',

 回到顶部