设置DataGridView的某个单元格为ComboBox

时间:2021-11-30 06:57:30

怎么将DataGridView的 某个单元格设为ComboBox的样式而不是整列都改变样式?

1、最简单的方法:利用DataGridView提供的DataGridViewComboBoxCell。

写个简单例子:

  DataGridViewComboBoxCell cbCell = new DataGridViewComboBoxCell();
string[] jgStr = new string[] {"砖混", "框混", "全框架", "其它" };
cbCell.DataSource = jgStr;
cbCell.Value =“框混”;
dGModelInfo.Rows[rowCount].Cells["Value"] = cbCell;

效果如图:

设置DataGridView的某个单元格为ComboBox

2、这是网上看到别人提供的,这个是编辑单元格时显示出单元格的样式,据说它能显示出任何控件的样式。

 private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewTextBoxEditingControl)
{
TextBox textbox = (TextBox)e.Control;
// Panel p = (Panel)textbox.Parent; //找到当前的父控件,其实就是一个Panel,你将此Panel中的控件清空,然后你就可以在Panel中加入任何控件并随意布局了
Panel p = (Panel)e.Control.Parent;
p.Controls.Clear();
Button btn =new Button();
btn.Text="aaa";
btn.Click +=new EventHandler(btn_Click);
p.Controls.Add(btn);
}
}

http://hi.baidu.com/wangcaidpj219x/item/76afbb2b6d6493162a0f1c7b

另外附上几个关于DataGridView使用的链接:

DataGridView常见用法和FAQ汇总
DataGridView的一些技巧
DataGridView使用技巧大全
DataGridView 经典用法总结(上)--附有可下载的Demo
DatagridView 经典用法总结(中)--附有可下载Demo