C# DataGridViewComboBoxCell 如何指定其显示下拉框中的某个值

张大吉001 2014-04-18 10:22:28
大家好!就是我在winform窗体上放置了一个 DataGridView 控件,其中有一列为 DataGridViewComboBoxCell ,已经赋值了 并且已经实现了将选择的值存进数据库(如下图)。
我现在遇到的问题是:
DataGridViewComboBoxCell 没有 SelectedIndex 和 SelectedValue 属性。在窗体再次启动后 在DataGridViewComboBoxCell 中显示我上次保存的值(不是要点击它的下拉列表才显示)




我要的效果:在启动窗体后 DataGridViewComboBoxCell 显示我上次保存的信息

...全文
3881 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
KIDZha0 2015-04-26
  • 打赏
  • 举报
回复
不容易改,不过你如果知道确定的列的话,可以指定一下 CompGridView.Rows[i].Cells[列].Value = "1";
ntn406133 2014-05-12
  • 打赏
  • 举报
回复
关键应该是要加到RowsAdded事件中
ntn406133 2014-05-12
  • 打赏
  • 举报
回复

        private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {
            DataGridViewComboBoxCell cellTmpt;
            for (int i = e.RowIndex; i < e.RowIndex + e.RowCount; ++i)
            {
                cellTmpt = dataGridView1.Rows[i].Cells["等级"] as DataGridViewComboBoxCell;
                cellTmpt.Value = dataGridView1.Rows[i].Cells["alarmLevel"].Value.ToString();
                dataGridView1.UpdateCellValue(cellTmpt.ColumnIndex, cellTmpt.RowIndex);
            }
        }
你的这个帖子看了大半天了,难得有人跟我遇到同样的问题,感谢一下 google上找了半天,自己又试了一两个小时,得出了这种解决方法,应该可以 出现这个问题,原因估计是显示时会把value又赋值为null datagridView真心包袱社会反人类
yls0221 2014-04-22
  • 打赏
  • 举报
回复
保存数据存在哪?还是动态存储?,再次启动需要重新加载。
zhang_hao_zi 2014-04-20
  • 打赏
  • 举报
回复
this.Column5 = new System.Windows.Forms.DataGridViewComboBoxColumn(); Column5.DataSource = getdatatable("select id,姓名 from 员工表"); Column5.DisplayMember = "姓名"; Column5.ValueMember = "id"; //关键是这一句,与datagridview所绑定的数据源关联起来 Column5.DataPropertyName = "员工";//如订单表中的员工字段
lulu23260 2014-04-20
  • 打赏
  • 举报
回复
1.数据类型不匹配 2.所赋数据项与绑定的数据源中数据不符 帖子上看到的,整了半天,自己也没赋值上
张大吉001 2014-04-19
  • 打赏
  • 举报
回复
顶啊 求顶啊
张大吉001 2014-04-18
  • 打赏
  • 举报
回复
引用 1 楼 benbenRH 的回复:

dataGridView.Rows[i].Cells["j"].Value = k; //其中i为你要设置的行,j为你要设置的列,k为你要设置的值
这样没用的,我已经试过了,连值都赋不进。 我要实现的效果是 像 combbox那样 显示 我指定的 SelectedIndex 或 SelectedValue 。但是DataGridViewComboBoxCell 没这些属性。
benbenRH 2014-04-18
  • 打赏
  • 举报
回复

dataGridView.Rows[i].Cells[j].Value = k; 
//其中i为你要设置的行,j为你要设置的列,k为你要设置的值
benbenRH 2014-04-18
  • 打赏
  • 举报
回复

dataGridView.Rows[i].Cells["j"].Value = k; //其中i为你要设置的行,j为你要设置的列,k为你要设置的值
张大吉001 2014-04-18
  • 打赏
  • 举报
回复
求大家帮忙。。。
  • 打赏
  • 举报
回复

this.Combobox.ValueMember = 1;
张大吉001 2014-04-18
  • 打赏
  • 举报
回复
有没有人知道呀!

111,075

社区成员

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

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

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