以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 取出相关列内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144821)

--  作者:leoli
--  发布时间:2019/12/30 20:50:00
--  [求助] 取出相关列内容

请问版主,在窗口1 第一列文本框输入表tp 的第一列内容, 如20191101, 在窗口1的第二列文本框中就自动带出第二列相应的内容55555,该如何达成,感谢了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:vv.foxdb


--  作者:有点蓝
--  发布时间:2019/12/30 21:09:00
--  
textbox1,valuechanged事件

If e.Sender.Value > "" Then
    Dim dr As DataRow = DataTables("TP").Find("第一列=\'" & e.Sender.Value & "\'")
    If dr IsNot Nothing Then
        e.Form.Controls("TextBox2").text = dr("第二列")
    End If
End If

--  作者:leoli
--  发布时间:2019/12/30 22:00:00
--  

谢谢老师。第一次输入后,显示正确的,可第二次把textbox1中内容改变后,其TextBox2还是原来的,不会更新了。是什么原因。谢谢。


--  作者:有点蓝
--  发布时间:2019/12/30 22:13:00
--  
If e.Sender.Value > "" Then
    Dim dr As DataRow = DataTables("TP").Find("第一列=\'" & e.Sender.Value & "\'")
    If dr IsNot Nothing Then
        e.Form.Controls("TextBox2").text = dr("第二列")
    End If
else
    e.Form.Controls("TextBox2").text = ""
End If

--  作者:有点蓝
--  发布时间:2019/12/30 22:14:00
--  
valuechanged事件要文本框离开输入焦点才会触发的
--  作者:leoli
--  发布时间:2019/12/30 22:31:00
--  

对的,老师。不过,第二次修改内容后,TextBox2还是原来的,没有相应变更过来。


--  作者:有点蓝
--  发布时间:2019/12/30 22:35:00
--  
If e.Sender.Value > "" Then
    Dim dr As DataRow = DataTables("TP").Find("第一列=\'" & e.Sender.Value & "\'")
    If dr IsNot Nothing Then
        e.Form.Controls("TextBox2").text = dr("第二列")
else
    e.Form.Controls("TextBox2").text = ""
    End If
else
    e.Form.Controls("TextBox2").text = ""
End If


--  作者:leoli
--  发布时间:2019/12/30 22:59:00
--  

老师 ,这个比第一次改善了,可是有时还是有点不对,一去点按钮,有时不更新的。有没有再好一点,比较内容变更后就马上进行判断


--  作者:有点蓝
--  发布时间:2019/12/30 23:04:00
--  
我测试没有问题,上传实例说明
[此贴子已经被作者于2019/12/30 23:04:22编辑过]

--  作者:leoli
--  发布时间:2019/12/31 7:51:00
--  
老师, 这个代码可以帮忙转换到按钮中吗 ?