以文本方式查看主题
-
Foxtable(狐表)
(http://foxtable.net/bbs/index.asp)
--
专家坐堂
(http://foxtable.net/bbs/list.asp?boardid=2)
----
按键问题
(http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187724)
-- 作者:lin98
-- 发布时间: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
-- 作者:有点蓝
-- 发布时间: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
-- 发布时间: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 = "") \',
-- 作者:有点蓝
-- 发布时间:2023/8/7 11:17:00
--
1、没看懂,是整表随便一行(或者理解为只要有任意一行,不一定是当前选中的行)为空,还是只是当前选中的行?
2、如果控件是绑定的,建议到表事件处理
-- 作者:lin98
-- 发布时间:2023/8/7 13:15:00
--
1.
此主题相关图片如下:按键事件.jpg
只要有任意一行,当前选中的行为空时,
窗口_删除键
可编辑,否则,
窗口_删除键
不
可编辑
2. 3楼代码,现在是
控件没绑定的字段,造成失效。
-- 作者:有点蓝
-- 发布时间: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 = "") \',