添加了一个comboxcolumn列在datagridview中的显示问题

music-4580 2017-08-29 03:12:25
如图 从数据库中选取了一个字段作为comboxcolumn列的下拉菜单,但是显示的时候 不显示其实际值,只有点下拉的时候才会看到各个选项。有没有方法让其在显示的时候把值也显示出来
...全文
221 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
music-4580 2017-08-30
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
[quote=引用 4 楼 lichunhui5231811 的回复:]
[quote=引用 3 楼 duanzi_peng 的回复:]
[quote=引用 2 楼 lichunhui5231811 的回复:]
[quote=引用 1 楼 duanzi_peng 的回复:]
设置列的displayMember与valueMember 属性。 完全不会设置查msdn。
这个我都设置过了 displayMember是显示内容,valueMember是数据库实际值。下拉是有内容的,问题是不能根据实际值显示出来。
"select region,case region when '1' then '上海'when '2' then '深圳' when '3' then '广州'else '其他' END as '地区' from account";
比如说 我的这个comlumn的值是1,我希望显示的时候直接就显示出上海。[/quote]
这是列的 datapropertyname属性 为从数据库查询出来的实际值。[/quote]

这些我都设置过了,是不是哪里有问题
comboxcolumn.HeaderText = "区组";
comboxcolumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;

comboxcolumn.DisplayMember = "地区";
comboxcolumn.DataPropertyName = "region";
comboxcolumn.ValueMember = "region";

dataGridView1.Columns.Add(comboxcolumn);
comboxcolumn.DisplayIndex = dataGridView1.Columns[2].DisplayIndex;[/quote]
晕,,,comboxcolumn的DataSoruce也设置了吧。要搞清楚,comboxcolumn是要有数据源的,这个数据源就是你给出的sql语句。 而DataPropertyName 不是设置为region,而是你dgv里显示的数据对象的“区组” 对应的整型字段名称![/quote]
版主大大 那个我弄出来了 明白你的意思了还有个问题就是 我只想把新加的comboxcolumn显示在dgv里,原来的column区组列我不想也显示出来了。这个怎么处理呢
music-4580 2017-08-29
  • 打赏
  • 举报
回复
完整的是这样的,数据源我已经设置过了。。数据库字段就是region字段啊,不太清楚DataPropteryName到底起什么作用 private void Set_ComboxColumn() { DataTable dt = new DataTable(); MySqlDataAdapter sda2 = get_DataAdapter(query_Select2, mysqlConnection); mysqlCommand = new MySqlCommandBuilder(sda2); sda2.Fill(dt); DataGridViewComboBoxColumn comboxcolumn = new DataGridViewComboBoxColumn(); comboxcolumn.DataSource = dt; comboxcolumn.HeaderText = "区组"; comboxcolumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox; comboxcolumn.DisplayMember = "地区"; comboxcolumn.DataPropertyName = "region"; comboxcolumn.ValueMember = "region"; dataGridView1.Columns.Add(comboxcolumn); comboxcolumn.DisplayIndex = dataGridView1.Columns[2].DisplayIndex; }
exception92 2017-08-29
  • 打赏
  • 举报
回复
引用 4 楼 lichunhui5231811 的回复:
[quote=引用 3 楼 duanzi_peng 的回复:] [quote=引用 2 楼 lichunhui5231811 的回复:] [quote=引用 1 楼 duanzi_peng 的回复:] 设置列的displayMember与valueMember 属性。 完全不会设置查msdn。
这个我都设置过了 displayMember是显示内容,valueMember是数据库实际值。下拉是有内容的,问题是不能根据实际值显示出来。 "select region,case region when '1' then '上海'when '2' then '深圳' when '3' then '广州'else '其他' END as '地区' from account"; 比如说 我的这个comlumn的值是1,我希望显示的时候直接就显示出上海。[/quote] 这是列的 datapropertyname属性 为从数据库查询出来的实际值。[/quote] 这些我都设置过了,是不是哪里有问题 comboxcolumn.HeaderText = "区组"; comboxcolumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox; comboxcolumn.DisplayMember = "地区"; comboxcolumn.DataPropertyName = "region"; comboxcolumn.ValueMember = "region"; dataGridView1.Columns.Add(comboxcolumn); comboxcolumn.DisplayIndex = dataGridView1.Columns[2].DisplayIndex;[/quote] 晕,,,comboxcolumn的DataSoruce也设置了吧。要搞清楚,comboxcolumn是要有数据源的,这个数据源就是你给出的sql语句。 而DataPropertyName 不是设置为region,而是你dgv里显示的数据对象的“区组” 对应的整型字段名称!
music-4580 2017-08-29
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
[quote=引用 2 楼 lichunhui5231811 的回复:] [quote=引用 1 楼 duanzi_peng 的回复:] 设置列的displayMember与valueMember 属性。 完全不会设置查msdn。
这个我都设置过了 displayMember是显示内容,valueMember是数据库实际值。下拉是有内容的,问题是不能根据实际值显示出来。 "select region,case region when '1' then '上海'when '2' then '深圳' when '3' then '广州'else '其他' END as '地区' from account"; 比如说 我的这个comlumn的值是1,我希望显示的时候直接就显示出上海。[/quote] 这是列的 datapropertyname属性 为从数据库查询出来的实际值。[/quote] 这些我都设置过了,是不是哪里有问题 comboxcolumn.HeaderText = "区组"; comboxcolumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox; comboxcolumn.DisplayMember = "地区"; comboxcolumn.DataPropertyName = "region"; comboxcolumn.ValueMember = "region"; dataGridView1.Columns.Add(comboxcolumn); comboxcolumn.DisplayIndex = dataGridView1.Columns[2].DisplayIndex;
exception92 2017-08-29
  • 打赏
  • 举报
回复
引用 2 楼 lichunhui5231811 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] 设置列的displayMember与valueMember 属性。 完全不会设置查msdn。
这个我都设置过了 displayMember是显示内容,valueMember是数据库实际值。下拉是有内容的,问题是不能根据实际值显示出来。 "select region,case region when '1' then '上海'when '2' then '深圳' when '3' then '广州'else '其他' END as '地区' from account"; 比如说 我的这个comlumn的值是1,我希望显示的时候直接就显示出上海。[/quote] 这是列的 datapropertyname属性 为从数据库查询出来的实际值。
music-4580 2017-08-29
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
设置列的displayMember与valueMember 属性。 完全不会设置查msdn。
这个我都设置过了 displayMember是显示内容,valueMember是数据库实际值。下拉是有内容的,问题是不能根据实际值显示出来。 "select region,case region when '1' then '上海'when '2' then '深圳' when '3' then '广州'else '其他' END as '地区' from account"; 比如说 我的这个comlumn的值是1,我希望显示的时候直接就显示出上海。
exception92 2017-08-29
  • 打赏
  • 举报
回复
设置列的displayMember与valueMember 属性。 完全不会设置查msdn。

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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