以编程方式选择ComponentOne TrueDBGrid筛选条

时间:2011-06-22 17:38:45

标签: .net componentone

我正在使用ComponentOne TrueDBGrid控件,并启用了过滤器栏。我想修改默认行为,以便在单击过滤器栏中的单元格时,将自动选择该单元格中的文本。通常我会连接一个MouseDown事件并使用CellContaining方法来检查单击了哪个单元格,但这只会为过滤器栏的行和col返回-1。所以我无法识别单个单元格,也不知道如何在筛选条中选择特定单元格。

有人对我如何做到这一点有任何建议吗?

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