C# winform dataGridView 的 DataGridViewComboBoxColumn

bososoft 2011-12-22 03:42:39
private System.Windows.Forms.DataGridViewComboBoxColumn 分类;


DataTable dt = new DataTable();
dt.Columns.Add("sexname");
dt.Columns.Add("sexvalue");
DataRow dr = dt.NewRow();
dr[0] = "男";
dr[1] = "8";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = "女";
dr1[1] = "2";
dt.Rows.Add(dr1);

this.分类.DataSource = dt;
this.分类.DisplayMember = "sexname";
this.分类.ValueMember = "sexvalue";



this.分类 选着条目变化后 想得到选择条目的ValueMember 的值

也就是 选着 “男” 得到 值 8


private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{

label1.Text = 这要得到选着条目的ValueMember 值
}
...全文
124 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bososoft 2011-12-22
  • 打赏
  • 举报
回复
明白了 绑定的 和显示的是两码事

DisplayMember显示的不是真正存储的值 而 ValueMember是存储在表里的

呵呵
bososoft 2011-12-22
  • 打赏
  • 举报
回复


DataTable dt = new DataTable();
dt.Columns.Add("sexname");
dt.Columns.Add("sexvalue");
DataRow dr = dt.NewRow();
dr[0] = "男";
dr[1] = "8";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = "女";
dr1[1] = "2";
dt.Rows.Add(dr1);

DataRow dr2 = dt.NewRow();
dr2[0] = "女";
dr2[1] = "3";
dt.Rows.Add(dr2);

this.分类.DataSource = dt;
this.分类.DisplayMember = "sexname";
this.分类.ValueMember = "sexvalue";


1、2 楼 ???呵呵 3楼正解 谢谢
窗户纸 2011-12-22
  • 打赏
  • 举报
回复
试试
dataGridView1[e.ColumnIndex ,e.RowIndex ].Value
貌似displaymember绑定的是显示值,而valuemember绑定了结果。
bdmh 2011-12-22
  • 打赏
  • 举报
回复
列名都有,直接按列名取
thy442030800 2011-12-22
  • 打赏
  • 举报
回复
居然是中文命名的!
取出该行再取你要的列数据

110,561

社区成员

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

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

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