2012-03-02 23 views
3

マイコード:それはコンボボックスを表示しますが、任意の値を選択することはできませんDataGridViewのコンボボックスセルC#

DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();  
DataTable data = new DataTable(); 

data.Columns.Add(new DataColumn("Value", typeof(string))); 
data.Columns.Add(new DataColumn("Description", typeof(string))); 



data.Rows.Add("5", "6"); 
data.Rows.Add("51", "26"); 
data.Rows.Add("531", "63"); 
cell.DataSource = data; 
cell.ValueMember = "Value"; 
cell.DisplayMember = "Description"; 

cell.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox; 
dataGridView1.Rows[0].Cells[0] = cell; 

。 Whats wrong

答えて

7

通常、DataGridViewの個々のセルタイプでは動作しません。代わりに、タイプDataGridViewComboBoxColumnの列を追加したいとします。だからではなく、あなたの提供されたコードの

は、あなたが何かしたい:参考

var column = new DataGridViewComboBoxColumn();  
DataTable data = new DataTable(); 

data.Columns.Add(new DataColumn("Value", typeof(string))); 
data.Columns.Add(new DataColumn("Description", typeof(string))); 

data.Rows.Add("5", "6"); 
data.Rows.Add("51", "26"); 
data.Rows.Add("531", "63"); 

column.DataSource = data; 
column.ValueMember = "Value"; 
column.DisplayMember = "Description"; 

dataGridView1.Columns.Add(column); 

を、DataGridViewCombobBoxCell上のドキュメントがMSDN hereです。 DataGridViewの一般的な情報もここにあります。別の非常に良いリファレンスはDataGridViewFAQです。

+0

私は理由はわかりませんが、このコードを使用すると、選択した値は表示されませんが、ドロップされたボックスのアイテムの一覧が表示されます。 – itsho