2011-06-22 28 views
1

私は、フィルタバーを有効にして、ComponentOne TrueDBGridコントロールを使用しています。フィルタバーのセルをクリックすると、そのセルのテキストが自動的に選択されるように、デフォルトの動作を変更したいと思います。通常、MouseDownイベントをワイヤーアップし、CellContainingメソッドを使用してどのセルがクリックされたかを確認しますが、これはフィルタバーの行と列の両方に対して-1を返します。だから私は個々の細胞を特定することができず、フィルターバーで特定の細胞を選択する方法を知らない。Programmatically ComponentOne TrueDBGrid Filterbarを選択してください

どのように私はこれを行う可能性がありますか?

答えて

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

このグリッドコントロールでは迷惑にならないようにしました。ありがとう! –

関連する問題