首页 > 技术文章 > 设置DataGridView的某个单元格为ComboBox

pengdage110 2015-01-22 18:03 原文

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

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

     写个简单例子:

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

效果如图:

 

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

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

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

 

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

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

推荐阅读