以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]控件与控件之间的关联问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186226)

--  作者:dhyskyworld
--  发布时间:2023/4/14 12:42:00
--  [求助]控件与控件之间的关联问题
控件与控件之间可以互相控制吗?
比如控件A为ComboBox组合框在未选取列表数据时,控件B的可见属性为Flase,控件C没有绑定列表A任何列。
控件A在选取列表数据时a后,控件B的可见属性变为true,同时控件C绑定表A的第一列。
可以实现吗?如果可以实现,代码要怎么写?
[此贴子已经被作者于2023/4/14 13:04:22编辑过]

--  作者:有点蓝
--  发布时间:2023/4/14 13:33:00
--  
控件A,valuechanged事件

控件B.visible = 
控件A.text > ""
--  作者:dhyskyworld
--  发布时间:2023/4/14 14:06:00
--  
不好意思,蓝老师,我没看懂你写的这一句控件B.visible = 控件A.text > "",自我感觉好像是比较数据的大小,不知道我判断的对不对,因为我上面说的控件A选取的列表数据是字符型的。
还有就是“同时控件C绑定表A的第一列”,也是在控件A的aluechanged事件中编写代码,是吗?代码要怎么写呢?新手学习中,还请老师多包涵。


--  作者:有点蓝
--  发布时间:2023/4/14 14:09:00
--  
e.form.controls("控件B").visible = (e.sender.text > "")

看不懂可以改为这样
dim b as boolean =  (e.sender.text > "")
e.form.controls("控件B").visible =b

或者这样
if e.sender.text > "" then
e.form.controls("控件B").visible =true
else
e.form.controls("控件B").visible =false
end if

都是一样的东西,自己理解一下

--  作者:dhyskyworld
--  发布时间:2023/4/14 14:15:00
--  
谢谢蓝老师
--  作者:dhyskyworld
--  发布时间:2023/4/16 11:47:00
--  
老师,你好,还是接之前的问题
控件A为ComboBox组合框在未选取列表数据时,控件B的可见属性为Flase,控件C(日期时间型)没有绑定列表A任何列。
控件A在选取列表数据a后,控件B的可见属性变为true,同时控件C绑定表A的第一列(日期时间型)。
现在控件A和控件B之间的能实现,但是控件A和控件C之间的还是没弄成功,我想实现的是ComboBox组合框在选取不同数据时,DataTimePicker13和DataTimePicker16两个日期控件可以实现给表LOA不同的日期列录入数据。
请帮忙看一下代码,保存的时候一直显示编译错误:Property \'Item\'is \'Readonly\'. 错误代码: e.Form.controls("DataTimePicker13") = e.DataTable(LOA).DataRow("年休假_开始日期")
检查了我的控件没有设为只读状态,表LOA只在表属性PrepareEdit里有一段代码不能编辑表格的代码e.cancel = true
麻烦大神帮看看
Dim b As String = e.sender.text > ""
If b = "年休假" Then
    e.Form.controls("DataTimePicker13")=e.DataTable(LOA).DataRow("年休假_开始日期")
    e.Form.controls("DataTimePicker16")=e.DataTable(LOA).DataRow("年休假_结束日期")
End If
If b = "探亲假" Then
    e.Form.controls("DataTimePicker13")=e.DataTable(LOA).DataRow("探亲假_开始日期")
    e.Form.controls("DataTimePicker16")=e.DataTable(LOA).DataRow("探亲假_结束日期")
End If
If b = "婚假" Then
    e.Form.controls("DataTimePicker13")=e.DataTable(LOA).DataRow("婚假_开始日期")
    e.Form.controls("DataTimePicker16")=e.DataTable(LOA).DataRow("婚假_结束日期")
End If
If b = "产假" Then
    e.Form.controls("DataTimePicker13")=e.DataTable(LOA).DataRow("产假_开始日期")
    e.Form.controls("DataTimePicker16")=e.DataTable(LOA).DataRow("产假_结束日期")
End If
If b = "陪产假" Then
    e.Form.controls("DataTimePicker13")=e.DataTable(LOA).DataRow("陪产假_开始日期")
    e.Form.controls("DataTimePicker16")=e.DataTable(LOA).DataRow("陪产假_结束日期")
End If
If e.sender.text > "产假" Then
    e.Form.controls("CheckedComboBox1").visible = False
Else
    e.Form.controls("CheckedComboBox1").visible = True
End If
e.Form.Controls("Label48").visible = e.Form.Controls("ComboBox17").Text = "年休假"
e.Form.Controls("Label49").visible = e.Form.Controls("ComboBox17").Text = "探亲假"
e.Form.Controls("Label50").visible = e.Form.Controls("ComboBox17").Text = "婚假"
e.Form.Controls("Label51").visible = e.Form.Controls("ComboBox17").Text = "产假"
e.Form.Controls("Label52").visible = e.Form.Controls("ComboBox17").Text = "陪产假"

--  作者:有点蓝
--  发布时间:2023/4/16 20:17:00
--  
建议还是多看几遍编程基础:http://www.foxtable.com/webhelp/topics/1592.htm,很多代码都不符合语法,基本都是乱用

Dim b As String = e.sender.text
e.Form.controls("DataTimePicker13")=Table("LOA").current(b & "_开始日期")
e.Form.controls("DataTimePicker16")=Table("LOA").current(b & "_结束日期")
e.Form.Controls("Label48").visible = (b = "年休假")
e.Form.Controls("Label49").visible = (b = "探亲假")
e.Form.Controls("Label50").visible = (b = "婚假")
e.Form.Controls("Label51").visible = (b = "产假")
e.Form.Controls("Label52").visible =( b = "陪产假")

--  作者:dhyskyworld
--  发布时间:2023/4/17 10:29:00
--  
不能使用,还是出现之前的问题,但是删除下面这两段
e.Form.controls("DataTimePicker13")=Table("LOA").current(b & "_开始日期")
e.Form.controls("DataTimePicker16")=Table("LOA").current(b & "_结束日期")
可以正常运行。

[此贴子已经被作者于2023/4/17 10:56:24编辑过]

--  作者:有点蓝
--  发布时间:2023/4/17 11:36:00
--  
e.Form.controls("DataTimePicker13").value = Table("LOA").current(b & "_开始日期")
--  作者:dhyskyworld
--  发布时间:2023/4/17 13:17:00
--  
不能保存,Table类型出错
[此贴子已经被作者于2023/4/17 14:36:41编辑过]