winform datagridview 下拉列表联动问题

liujin9012 2012-03-28 09:20:10
datagridview 的下拉列表是我手动用代码添加上去的。我想实现一个三级联动效果。比如在第一个下拉列表选择一个值后 在第二个 第三个下拉列表都有一个唯一的值跟他对应,我想让第二 和第三个自动显示那个值。网上找了很久这方面的资料,好像都是用的combox覆盖在单元格上的,我想问一下。如果不用combox能不能实现这个功能!如果能该怎么做?
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujin9012 2012-03-28
  • 打赏
  • 举报
回复
这个先不管了,我换个问题吧。
datagridview 将第一列隐藏后我想从里面取值,为什么取不到。比如我想取第一个单元格的值
string a = dgv_Data2.Rows[0].Cells[0].Value.ToString();
调试的时候a的值是空的!为什么?隐藏列里面是有值的!
liujin9012 2012-03-28
  • 打赏
  • 举报
回复
来个人教教吧。试了这么久还是出不来!
liujin9012 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我也想知道!
请问你是怎么定义下拉列的??
[/Quote]我把代码贴给你吧。
       string listSql = "select * from MIS_MaterielRegiser";
OleDbCommand cmd = new OleDbCommand(listSql, ocnn);
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet set = new DataSet();
da.SelectCommand = cmd;
da.Fill(set);

DataGridViewComboBoxColumn column1=new DataGridViewComboBoxColumn();
column1.DataSource=set.Tables[0];
column1.DisplayMember = "MR_Number";
column1.HeaderText = "货料编号";
column1.SortMode = DataGridViewColumnSortMode.NotSortable;
this.dgv_Data2.Columns.Add(column1);
DataGridViewComboBoxColumn column2 = new DataGridViewComboBoxColumn();
column2.DataSource = set.Tables[0];
column2.DisplayMember = "MR_Name";
column2.HeaderText = "货料名称";
column2.SortMode = DataGridViewColumnSortMode.NotSortable;
this.dgv_Data2.Columns.Add(column2);
DataGridViewComboBoxColumn column3 = new DataGridViewComboBoxColumn();
column3.DataSource = set.Tables[0];
column3.DisplayMember = "MR_Model";
column3.HeaderText = "规格型号";
column3.SortMode = DataGridViewColumnSortMode.NotSortable;
this.dgv_Data2.Columns.Add(column3);
DataGridViewComboBoxColumn column4 = new DataGridViewComboBoxColumn();
column4.DataSource = set.Tables[0];
column4.DisplayMember = "MR_Unit";
column4.HeaderText = "单位";
column4.SortMode = DataGridViewColumnSortMode.NotSortable;
this.dgv_Data2.Columns.Add(column4);
DataGridViewTextBoxColumn column5 = new DataGridViewTextBoxColumn();
column5.HeaderText = "数量";
this.dgv_Data2.Columns.Add(column5);
DataGridViewTextBoxColumn column6 = new DataGridViewTextBoxColumn();
column6.HeaderText = "单价";
this.dgv_Data2.Columns.Add(column6);
tangxu12 2012-03-28
  • 打赏
  • 举报
回复
我也想知道!
请问你是怎么定义下拉列的??
liujin9012 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

他不是有下拉列类型吗,你去控制下拉列的绑定吧
[/Quote]嗯,是的,我是用的它自带的下拉列。数据源也一列一列的都绑定好了。就是不会控制
bdmh 2012-03-28
  • 打赏
  • 举报
回复
他不是有下拉列类型吗,你去控制下拉列的绑定吧

111,126

社区成员

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

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

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