我使用的是启用了筛选栏的ComponentOne TrueDBGrid控件。我想要修改默认行为,以便当单击筛选栏中的单元格时,该单元格中的文本会被自动选中。通常,我会连接一个MouseDown事件,并使用CellContaining方法检查哪个单元格被单击了,但这只会为筛选条返回-1。因此,我无法识别单个单元格,也不知道如何在筛选栏中选择特定的单元格。
有人有什么建议吗?我该怎么做呢?
发布于 2011-06-23 22:02:07
发布解决方案,以防其他人遇到此问题。
您需要使用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 Subhttps://stackoverflow.com/questions/6444141
复制相似问题