当鼠标悬浮在C1TrueDBGrid的某字段时候,如何能用C1TrueDBDropdown 显示呢(不点击)
本帖最后由 bennyking 于 2022-11-21 14:26 编辑您好:
我想实现以下这个功能
当鼠标悬浮在C1TrueDBGrid的某字段时候,如何能用C1TrueDBDropdown 显示呢(不点击)?
C1TrueDBDropdown 控件可以在不C1TrueDBGrid不点击下以tips形式显示(不修改数据,只查看)吗?
我的想法是不点击,然后从数据库上调取数据,看tips就能显示详细信息。
经测试,用C1TrueDBDropdown 控件的方法,我是没事项,如果行的话,能给个例程看看吗?
我现在用得这种方法实现,以下这种方法,能实现,但是费劲。还要拼接字符串。
Private Sub C1TrueDBGrid1_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1TrueDBGrid1.FetchCellTips
If e.Row >= 0 Then
If e.ColIndex >= 0 Then
If IsDBNull(C1TrueDBGrid1.Item(e.Row, e.ColIndex)) = False Then
e.CellTip = C1TrueDBGrid1.Item(e.Row, e.ColIndex)
Dim s As String = ""
s = s & "近期领用的设备详情:" & vbCrLf
s = s & "" & vbCrLf
s = s & "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓" & vbCrLf
s = s & "┃领用日期 | 设备类型".PadRight(20) & " | 名称|型号| 信科固定资产 | 财务固定资产 | 备注" & vbCrLf
s = s & "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫" & vbCrLf
s = s & "┃2021-11-13 |设备类型 | 名称|型号| 信科固定资产 | 财务固定资产 | 备注┃" & vbCrLf
s = s & "┃2021-11-13 |设备类型 | 名称|型号| 信科固定资产 | 财务固定资产 | 备注┃" & vbCrLf
s = s & "┃2021-11-13 |设备类型 | 名称|型号| 信科固定资产 | 财务固定资产 | 备注┃" & vbCrLf
s = s & "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛" & vbCrLf
e.CellTip = s
End If
End If
End If
End Sub
除了FetchCellTips和C1TrueDBDropdown ,您知道还有其它方法实现吗?比如用 C1TreeView 控件可以吗?谢谢,如果有例程,就更好了。
其实就是直接显示一个子控件出来,C#的话这样写,你可以看看对应的VB写法
//初始化时候
Panel panel = new Panel();
panel.Visible = false;
c1TrueDBGrid1.Controls.Add(panel);
事件中
panel.Location = new Point(e.Location.X+3, e.Location.Y+3);
panel.Visible = true;
暂时想不到其他办法,控件有提供mousemove事件,但是没有办法获取当前是在哪个单元格,否则你可以自己弹一控件出来显示 Richard.Ma 发表于 2022-11-21 16:53
暂时想不到其他办法,控件有提供mousemove事件,但是没有办法获取当前是在哪个单元格,否则你可以自己弹一 ...
R老师,我已经找到在mousemove事件里的方法,判断鼠标现在的点位是在几行几列,方便教我下,如何在鼠标规定的列位置,外挂C1treeview 或者其他控件,显示我所需要的信息吗?
Private Sub C1TrueDBGrid1_MouseMove(sender As Object, e As MouseEventArgs) Handles C1TrueDBGrid1.MouseMove
If C1TrueDBGrid1.PointAt(e.X, e.Y) = C1.Win.C1TrueDBGrid.PointAtEnum.AtDataArea Then
Label8.Text = "第" & C1TrueDBGrid1.RowContaining(e.Y) & "行,【" & C1TrueDBGrid1.Columns(C1TrueDBGrid1.ColContaining(e.X)).Caption & "】列"
End If
End Sub
万分感谢。 Richard.Ma 发表于 2022-11-22 01:35
其实就是直接显示一个子控件出来,C#的话这样写,你可以看看对应的VB写法
感谢老师,热心解答 不客气
页:
[1]