EditingControlShowing事件
Panel p;
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox textbox = (TextBox)e.Control;
var text = textbox.Text;
p = (Panel)e.Control.Parent;
p.Controls.Clear();
ComboBox combo = new ComboBox();
combo.Dock = DockStyle.Fill;
combo.Parent = p;
p.Controls.Add(combo);
combo.DataSource = typeList;
combo.Text = text;
combo.SelectedIndexChanged +=
new EventHandler(comboBox_SelectedIndexChanged);
}
private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
//对应列
//this.dataGridView1.CurrentCell.OwningColumn.Name == //columnName
if(p != null)
{
p.Controls.Clear();
}
}