以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  提示信息  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189685)

--  作者:nxqtxwz
--  发布时间:2023/12/18 8:30:00
--  提示信息
If e.OldRange.ColSel <> e.NewRange.ColSel
    Dim c As Col  = e.Table.Cols(e.NewRange.ColSel)
    Select Case c.name
        Case "辍学分类"
            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(0)("表A")
        Case "当前状态"
            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(1)("表A")
            
        Case "劝学措施"
            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(2)("表A")
            
            Case  Else
             Forms("信息").Close
    End Select
End If

显示下面的错误怎么办?应该是显示在窗口“信息”中,代码怎么写呢。
NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表A,AfterSelChange
详细错误信息:
列“表A”不属于表 表B。

--  作者:有点蓝
--  发布时间:2023/12/18 8:43:00
--  
提示很明显了,列名用错了。这个代码想实现什么功能?
--  作者:nxqtxwz
--  发布时间:2023/12/18 8:50:00
--  
想着点了表A中的一列,则将表B中的一列中第几条记录显示在窗口“信息”里。
比如:
鼠标如果点了表A的第二列,则将表B中第五列第三条记录的内容显示在窗口“信息”中。
      如果点了表A的第三列,则将表B中第五列第四条记录的内容显示在窗口“信息”中。
依此类推,起到说明作用。
[此贴子已经被作者于2023/12/18 8:52:05编辑过]

--  作者:nxqtxwz
--  发布时间:2023/12/18 9:05:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点蓝
--  发布时间:2023/12/18 9:34:00
--  
改为需要的列名呀

rtxt.text = Tables("表B").Rows(0)("第五列")

--  作者:nxqtxwz
--  发布时间:2023/12/18 10:24:00
--  
老师您好,问题解决,谢谢。但还有个问题就是:
当刚打开表,点不管哪个列,都不会出现提示窗口,只有换了行后才出现窗口。这个原因是代码放在了表A的AfterSelChange事件中,只有列变了才激发代码执行。如何能做到一打开表不管点哪个列都能及时出现提示窗口呢
[此贴子已经被作者于2023/12/18 10:24:20编辑过]

--  作者:有点蓝
--  发布时间:2023/12/18 10:34:00
--  
您的代码逻辑就是只有选择这3个列才会显示的呀,其它列就关闭了。如果现在其它列也打开窗口,那么窗口显示什么内容呢?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:nxqtxwz
--  发布时间:2023/12/18 11:13:00
--  
老师,问题在于代码放在哪个事件中,因为打开表后第一次无论选哪个列它都不显示提示信息。只有第二次行择不同列它才显示。
--  作者:有点蓝
--  发布时间:2023/12/18 11:22:00
--  
AfterOpenProject事件加上代码

            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(0)("第五列")