2011-06-22 53 views
1

我正在使用ComponentOne TrueDBGrid控件,並啓用了篩選條。我想要修改默認行爲,以便在單擊過濾欄中的單元格時,該單元格中的文本會自動選中。通常我會連接一個MouseDown事件,並使用CellContaining方法來檢查哪個單元格被點擊過,但是這隻對過濾條的行和列都返回-1。所以我不能識別一個單獨的單元格,並且我不知道如何在過濾條中選擇一個特定的單元格。以編程方式選擇ComponentOne TrueDBGrid篩選器條

有沒有人有任何建議,我可能會這樣做?

回答

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 
+0

工作就像一個魅力,並修復了這個網格控制的主要煩惱 - 謝謝! –