2009-07-11 14 views
0

通常のコンボボックスとデータグリッドのコンボボックスの違いは何ですか?データグリッドのコンボボックス

私はコンボボックス(データグリッド)で自分の価値を与えることはできないが、通常のコンボでは(任意の値を入力する)ことができます。

答えて

1

コンボボックスコントロールのドロップダウンスタイルは、ドロップダウンとして設定されています。したがって、値を入力することができます。 DataGridViewのコンボボックス列には、DropDownListとして設定されたプロパティがあります。これが入力できない理由です。あなたはそれを入力したい場合は、この使用して、次のコードを実行できます。

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { 
     if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl)) { 
     DataGridViewComboBoxEditingControl edit = e.Control as DataGridViewComboBoxEditingControl; 
     edit.DropDownStyle = ComboBoxStyle.DropDown; 
     } 
    } 

これとは別に、あなたはコンボボックスではときに、ユーザーの種類値を何をすべきかを決定するためにDataGridViewComboBoxEditingControlの有効イベントを処理する必要があります。

+0

こんにちはデンマーク イムを役に立てば幸い! – srinivas

+0

editcontrolの検証イベントでは、送信者のtextプロパティにそれがあります。 – danish

0
  • 「ノーマル」コンボボックスまたはSystem.Windows.Forms.ComboBoxは、ユーザーがONEオプションを選択する可能性があるの複数の値を表示するために使用されているWindowsフォームユーザーコントロールです。 ComboBox.DropDownStyleタイプがComboBoxStyleの場合Enumerationプロパティは、コンボボックスのテキスト部分の動作を編集可能かどうか定義します。

  • "データグリッド"コンボボックスはSystem.Windows.Forms.DataGridViewComboBoxColumnクラスです DataGridViewComboBoxCellオブジェクトの列を表します。このクラスは「通常」のコンボボックスの動作をほぼ示していますが、(DataGridViewColumnから派生した)クラス階層は、データグリッドに埋め込むことができるようなものです。

0

ソースを見ると、GridViewのコンボボックスコントロールのIDが期待通りではないことがわかります。これはサーバー上で実行されているため、そのIDはネーミングコンテナなどを使用して生成されているためです。.NETで生成されたID(ソースに表示されているID)を参照すると、それに応じてGridViewのコンボボックスを操作できます。

「通常の」コンボボックスがサーバーで実行されていないと推測しています。そのIDは変更されないため、コントロールを期待どおりに参照できます。

だけ勘が、私はそれは価値の男をキャプチャすることはできません

関連する問題