DataGridView中DataGridViewComboBoxColumn如何绑定枚举类型的数据

风轻扬 2009-04-12 03:07:59
我有一个DataGridView,里面有两个DataGridViewTextBoxColumn,还有一个DataGridViewComboBoxColumn列,我给DataGridView的DataSource赋值一个DataTable,这个DataTable中有三个列,两个typeof(string),一个typeof(枚举)列,分别对应DataGridView中的列,并有三行数据,现在的问题是,

DataGridView中的DataGridViewComboBoxColumn列如何填充枚举的所有枚举项?

DataTable中typeof(枚举)列的值如何反应到DataGridView中的DataGridViewComboBoxColumn上?
...全文
1447 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看看大家是怎么解决这个问题的
cdsnvip 2009-08-28
  • 打赏
  • 举报
回复
不明白.
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
将枚举中的所有项转化成了一个DataTable,只有一个DataColumn,并起了一个名字,然后遵照上面各位的说法写上去,OK了,结贴
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
其实问题非常清楚,就是我把枚举中的所有值绑定到DataGridView中的DataGridViewComboBoxColumn上之后,如果某行的枚举值不是第一个枚举项的值,我如何在界面上自动选择上这个值让用户看到
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
wuyq11:
你的代码直接设置DisplayIndex=0了,这不就写死了啊
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
数据库字段什么类型啊,设置成string总提示DataGridViewComboBoxCell值无效!
wuyq11 2009-04-12
  • 打赏
  • 举报
回复
System.Windows.Forms.DataGridViewComboBoxColumn List = new DataGridViewComboBoxColumn();
List.DisplayIndex = 0;
List.HeaderText = "类型";
List.DataPropertyName = "TYPE";
List.DataSource = ds.Tables[0];
List.DisplayMember = "name";
List.ValueMember = "value";
Hellonet123 2009-04-12
  • 打赏
  • 举报
回复
第二个也一样啊,你只需给ComboBox指定绑定的字段就行了combox.DataPropertyName = "数据库字段";
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
第一个问题楼上的各位回答的没问题,很好,我也写出来了,现在关键是第二个问题啊,急死我了
sillf 2009-04-12
  • 打赏
  • 举报
回复
郁闷,你还有分问,人家都上来回答,我新开的号,现在提问看都没有人看,有空帮忙给我也看看怎么弄 我的帖子在今天的15:41
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
看不懂楼上的回答,能否好好看看我的原始提问,给我一个从头到尾大概的思路?
ysd_xwl 2009-04-12
  • 打赏
  • 举报
回复
学习...
sillf 2009-04-12
  • 打赏
  • 举报
回复
先调用column的清空方法,或者新建一个column对象,然后将枚举值用Add方法添加到column中就可以了
zhangkunit 2009-04-12
  • 打赏
  • 举报
回复
如此绑定:给你要显示那列DataGridViewComboBoxColumn 取名为combo吧
则代码如下combo = new DataGridViewComboBoxColumn();
combo.DataSource = Enum.GetValues(typeof(enumType));
combo.DataPropertyName = "enumField";
combo.Name = "enumField";
enumType为你要绑定的枚举类型
enumField为你要选的数据源字段
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
第二个问题呢,这个最关键啊
Hellonet123 2009-04-12
  • 打赏
  • 举报
回复
DataGridViewComboBoxColumn combox= new DataGridViewComboBoxColumn();
combox.DataSource = Enum.GetValues(typeof(枚举名称));
风轻扬 2009-04-12
  • 打赏
  • 举报
回复
大概怎么写代码呢?
忘了说了,我进行的是winform的编程
yagebu1983 2009-04-12
  • 打赏
  • 举报
回复
在gridview的绑定数据事件里处理即可。。。

110,476

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧