以文本方式查看主题

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

--  作者:nxqtxwz
--  发布时间:2020/2/2 16:22:00
--  提示内容
请问老师,想在表中做一个停靠窗口,窗口中放一个文本框。鼠标在不同的列,在文本框显示不同的提示内容。请问老师怎么实现呢?
--  作者:有点蓝
--  发布时间:2020/2/2 22:24:00
--  
AfterSelChange事件

If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count AndAlso Forms("窗口1").opened Then
    Dim r As Row = e.Table.Rows(e.NewRange.Rowsel) \'获得原来选择的行
    Forms("窗口1").controls("text").text = r(e.NewRange.colsel)
End If

--  作者:nxqtxwz
--  发布时间:2020/2/3 13:01:00
--  

老师您好,非常感谢回复。

抱歉,我写的不清楚。我想做一个评分表,但评分条件太长了,平分的项目有18项。想在A表评分,B表放条件。

我想双击了A表的第一列,在窗口1的文本框中显示B表第一列第一行中的内容。

      双击了A表的第二列,在窗口1的文本框中显示B表第一列第二行中的内容。

依次类推

 

代码怎么写呢?


--  作者:有点蓝
--  发布时间:2020/2/3 13:50:00
--  
A表和B表数据通过什么列关联?请上传实例说明
--  作者:nxqtxwz
--  发布时间:2020/2/3 15:44:00
--  

没有关联的列,想用代码控制,代码不知怎么写。

双击表A第一列,取表B第一列第一行的信息。

双击表A第三列,取表B第一列第三行的信息。

其它类似

 

也不一定是双击,反正选中哪一列,对应的显示这一列的说明。

[此贴子已经被作者于2020/2/3 15:47:54编辑过]

--  作者:有点蓝
--  发布时间:2020/2/3 15:52:00
--  
请上传实例说明
--  作者:nxqtxwz
--  发布时间:2020/2/3 16:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提示信息显示.zip


--  作者:有点蓝
--  发布时间:2020/2/3 16:28:00
--  
If Forms("窗口1").Opened AndAlso e.OldRange.ColSel <> e.NewRange.ColSel
    Dim c As Col = e.Table.Cols(e.NewRange.ColSel)
    Select Case c.name
        Case "第一列"
            Forms("窗口1").Controls("Text").text = Tables("表B").Rows(0)("第三列")
        Case "第四列"
            Forms("窗口1").Controls("Text").text = Tables("表B").Rows(1)("第三列")
    End Select
End If

--  作者:nxqtxwz
--  发布时间:2020/2/3 17:05:00
--  
以下是引用有点蓝在2020/2/3 16:28:00的发言:
If Forms("窗口1").Opened AndAlso e.OldRange.ColSel <> e.NewRange.ColSel
    Dim c As Col = e.Table.Cols(e.NewRange.ColSel)
    Select Case c.name
        Case "第一列"
            Forms("窗口1").Controls("Text").text = Tables("表B").Rows(0)("第三列")
        Case "第四列"
            Forms("窗口1").Controls("Text").text = Tables("表B").Rows(1)("第三列")
    End Select
End If

老师,您真是高人啊,圆满解决了我的问题。谢谢。


--  作者:nxqtxwz
--  发布时间:2020/2/4 9:50:00
--  
以下是引用有点蓝在2020/2/3 16:28:00的发言:
If Forms("窗口1").Opened AndAlso e.OldRange.ColSel <> e.NewRange.ColSel
    Dim c As Col = e.Table.Cols(e.NewRange.ColSel)
    Select Case c.name
        Case "第一列"
            Forms("窗口1").Controls("Text").text = Tables("表B").Rows(0)("第三列")
        Case "第四列"
            Forms("窗口1").Controls("Text").text = Tables("表B").Rows(1)("第三列")
    End Select
End If

老师您好,这个例子成功后发现,用textbox控件字一多看不清楚,因为行间距太小了。想改成下面这个例子的panpel控件,请老师给改一改代码。谢谢。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:设置控件间距例子.zip