我正在使用ComponentOne TrueDBGrid控件,并启用了过滤器栏。我想修改默认行为,以便在单击过滤器栏中的单元格时,将自动选择该单元格中的文本。通常我会连接一个MouseDown事件并使用CellContaining方法来检查单击了哪个单元格,但这只会为过滤器栏的行和col返回-1。所以我无法识别单个单元格,也不知道如何在筛选条中选择特定单元格。
有人对我如何做到这一点有任何建议吗?
答案 0 :(得分:1)
发布解决方案以防其他人遇到此问题。
您需要使用PointAtEnum在您单击的坐标下捕获一些网格元素。然后,您可以通过将网格的EditActive属性设置为True来简单地在EditMode中设置单元格。这就是你在MouseUp事件中的表现:
Private Sub C1TrueDBGrid1_MouseUp(sender As Object, _
e As System.Windows.Forms.MouseEventArgs) _
Handles C1TrueDBGrid1.MouseUp
If Me.C1TrueDBGrid1.PointAt(e.X, e.Y) = _
C1.Win.C1TrueDBGrid.PointAtEnum.AtFilterBar Then
Me.C1TrueDBGrid1.EditActive = True
End If
End Sub