以文本方式查看主题

-  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 = "") \',