0

大量のデータを含む datagridview があり、新しい行を追加すると、最初の列の最後の行が 4 つの項目を含む新しい ComboBoxCell を作成します。しかし、コンボボックスのデフォルト値 ("DropDown") を設定できません。毎回手動で「DropDown」を選択する必要があります。解決策は何ですか?

 DataGridViewComboBoxCell dgvCell = new DataGridViewComboBoxCell();
 dgv[1, dgv.Rows.Count - 1] = dgvCell;

 string[] controltype = {"DropDown", "CheckBoxList", "ListControl", "Tree" };
 dgvCell.DataSource = controltype;
4

3 に答える 3

0
private void dataGridView_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
    {
        e.Row.Cells[4].Value = "DropDown";
    }
于 2012-08-27T07:21:12.657 に答える
0

簡単です。DataGrid ビューに ComboBox 列があり、コンボ ボックスの選択されたインデックスを知りたい場合は、次の手順を実行する必要があります。 1. DataGrid ビューの EditingControlShowing イベントを処理します。このイベント ハンドラーで、現在の列に関心があるかどうかを確認します。次に、一時的な ComboBox オブジェクトを作成し、選択されたインデックスを取得します。

コード

private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
// Check box column
ComboBox comboBox = e.Control as ComboBox;
comboBox.SelectedIndexChanged += new EventHandler(comboBox_SelectedIndexChanged);
}
}

void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
int selectedIndex = ((ComboBox)sender).SelectedIndex;
MessageBox.Show("Selected Index = " + selectedIndex);
}
于 2013-09-19T12:18:55.647 に答える
-1

試す :

if(!isPostBack)
  {
   dgvCell.SelectedItem=controltype[0].toString(); 
  }
于 2012-08-23T11:32:30.227 に答える