1

フィルタバーを有効にして、ComponentOneTrueDBGridコントロールを使用しています。フィルタバーのセルをクリックすると、そのセルのテキストが自動的に選択されるように、デフォルトの動作を変更したいと思います。通常、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 に答える