0

複数の DataGridViewCell タイプを持つ Column を持つ dataGridView を使用する C# winForm に取り組んでいます。例えば

DataGridView dvg = new DataGridView();
dgv.Columns.Add("colCtrl", "Ctrl");

DataGridViewComboBoxCell cboCell = new DataGridViewComboBoxCell();

TextBox txtBox = new TextBox();
txtBox.Name = "MyTextBox";
txtBox.KeyDown += txtBox_KeyDown;

cboCell.Items.Add(txtBox);

DataGridViewRow row = new DataGridViewRow();
row.Cells.Add(cboCell);

dgv.Rows.Add(row);

private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
   DataGridViewComboBoxCell cb = (DataGridViewComboBoxCell)     ((TextBox)sender).Parent;
   TextBox txtBox = (TextBox)sender;

   if (e.KeyCode == Keys.Enter)
   {
       if (!cb.Items.Contains(txtBox.Text))
           cb.Items.Add(txtBox.Text);
   }
}

textBox コントロールは、comboBox Items コレクションにレンダリングされていません。コードをステップ実行すると追加されるようですが、表示されません。基本的に、textBox を使用して、文字列項目を私のコンボボックスの dropDownList に追加したいと思います。ここで何が間違っていますか?

前もって感謝します、-DA

4

3 に答える 3

0

DataGridView でさまざまなコントロール タイプをレンダリングしようとするのは困難です。DataGridView は、データを表示するためのものであり、データを制御するためのものではありません。

MSDNから: DataGridView:カスタマイズ可能なグリッドにデータを表示します。

C# のバージョンにDataRepeaterコントロールがある場合は、それを使用することをお勧めします。

于 2013-04-22T16:04:30.193 に答える