1

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

有没有人有任何建议我可以如何做到这一点?

4

1 回答 1

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
于 2011-06-23T14:02:07.250 回答