3

多数の DataGridView コントロールを使用するプロジェクトがあります。セルのほとんどは、DataGridViewTextBoxCell 説得です。コントロールを次のように宣言します。

Dim MyCell as DataGridViewCell

後で、次のように DataGridViewTextBoxControls か DataGridViewComboBoxCells かを指定します。

MyCell = New DataGridViewTextBoxCell   ...or...
MyCell = New DataGridViewComboBoxCell

コード内のどの場所でも、ユーザーがコンボ ボックスに独自の値を入力できる必要はありません。つまり、ハードコードされているか、値がアプリケーション内の他のデータから収集されています。

現在、ユーザーは上記のように定義されたコンボ ボックス コントロールを強調表示し、好きなように入力を開始できます。たとえば、1 から 9 までの整数を選択できるコンボ ボックスがあるとします。コンボ ボックスのセルを強調表示して、「Hello, World!」と入力します。もしよろしければ。

この能力を無効にするには何が必要ですか? 確かに物件はあると思いますが、まだ見つけていません。インターネットを検索したところ、ユーザーが入力した値をリストに追加する機能と、一連のデータ バインディング チュートリアルしか見つかりませんでした。

前もって感謝します!ハ

4

1 に答える 1

3

ここをチェック

編集

もっと情報を載せるべきだったのかもしれませんが、疲れて少し気分が悪くなったので、怠惰になりたいと思いました...でも、怠惰を台無しにして、もっと入力するように強制する必要はありません。(笑 冗談です)。

基本的に、コンボボックスセルに表示されるコンボボックスは、実際にはコンボボックスコントロールです (疲れている = 悪い英語)。

私が思い出す限り、datagridview の EditingControlShowing イベントを使用して、セルで使用されているコントロールを取得できるはずです。そこにドロップダウンスタイルを設定するだけです。

お気に入り:

Private Sub datagridview_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)

    Dim c As ComboBox = e.Control

    If Not c Is Nothing Then

        c.DropDownStyle = ComboBoxStyle.DropDownList

    End If

End Sub
于 2010-12-20T17:11:21.447 に答える