DataGridView中的Combobox的应用
来源:互联网 发布:linux www服务器 编辑:程序博客网 时间:2024/05/19 22:26
在WinForm中DataGridView可谓是应用比较多的数据显示控件了,DataGridView中可以应用各种控件,关于这样的文章网上
已有很多。都是实例化一个控件然后通过DataGridView.Controls.Add()方法绑定控件。然后通过特定的事伯执行数据绑定与操作。
这几天在做项目的时候也也用到的DataGridView控件,而且需要要DataGridView使用ComboBox来动态的显示数据。查了不少
的资料来完成DataGridView中的ComboBox的数据绑定,多数都是通过严设置在WinForm中的窗体InitializeComponent()中来设
置ComboBox对象的DataSource、DisplayMember、ValueMember的值来实现数据绑定,可是这样并不能实现每行不同的数据进
行绑定。在查看MSDN的时候我发现一个对象是DataGridViewComboBoxCell 。MSDN上这样说的:
DataGridViewComboBoxCell 类是用于显示组合框控件(即组合了列表选择字段的编辑字段)的 DataGridViewCell 的专用类型。
当前选定的 DataGridViewComboBoxCell 承载一个 DataGridViewComboBoxEditingControl,用户可在其中更改单元格的值
(假设单元格的 ReadOnly 属性设置为 false)。 与 ComboBox 控件不同,DataGridViewComboBoxCell 没有 SelectedIndex
和 SelectedValue 属性,而是通过从下拉列表中选择值来设置单元格的 Value 属性。
所以我这样实现的:
在DataGridView进行数据绑定时通过for来循环添加行(通过DataSource来实现的时候下的的功能无法完成),同时
DataGridViewComboBoxColumn列中填充Null。 然后在DataGridView的RowsAdded事件中添加ComboBox的数据绑定代码。
2 {
3
4 DataGridViewComboBoxCell DgvCell = this.dataGridView1.Rows[e.RowIndex].Cells[1] as DataGridViewComboBoxCell;
5 DgvCell.DataSource = DataSource;
6 DgvCell.DisplayMember = "MeasureName";
7 DgvCell.ValueMember = "MeasureId";
8 }
这样就可以完成数据绑定了。我们就可以在DataGridVie一行的后面添加一个按钮列,然后选择DataGridView的CellClick事件中编写代码。
我们可以通过
MessageBox.Show("" + selectValue.ToString() + "");
注意的地方就是如果绑定的的是泛型集合,那么DisplayMember与ValueMember的值必须是属性(property)
不可以是类的字段(Filed)。
- DataGridView中的Combobox的应用
- Datagridview中的ComboBox
- Combobox弹出下拉的dataGridView
- datagridview中ComboBox的数据源
- datagridview combobox
- DataGridView中ComboBox列的触发事件
- DataGridView中comboBox(DataGridViewComboBoxColumn)的数据绑定
- DataGridView中comboBox(DataGridViewComboBoxColumn)的事件编写
- DataGridView中Combobox的数据类型匹配
- dataGridView中Combobox赋值的问题
- DataGridView中comboBox数据绑定的问题
- DataGridView中comboBox(DataGridViewComboBoxColumn)的事件编写
- DataGridView中comboBox数据绑定的问题
- Ext Combobox的应用
- Combobox控件的应用
- c# dataGridView的应用
- datagridview定制ComboBox列
- DataGridView中加ComboBox
- double的四舍五入
- 正则表达式30分钟入门教程
- ConcurrentHashMap原理分析
- 使用 Git 生成编译版本号
- struts.xml中自动提示
- DataGridView中的Combobox的应用
- 如何在远程桌面无响应的情况下完成远程电脑重启
- 德州扑克 信息
- 雷军:40岁重新再来 没什么大不了
- poj 3592 缩点+SPFA
- 一日一命令-屏幕文本编辑器Vi
- ubuntu-server-12.04.2访问virtualBox共享文件夹
- 字典树
- TerminateProcess结束进程