DataGridView的一组列单元格组合框 [英] DataGridView set column cell Combobox

查看:147
本文介绍了DataGridView的一组列单元格组合框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一样,在DataGridView的表:

 名称钱
--------- ----
嗨100 //此处的组合框成员{} 10,30,80,100选择
文30 //这里与成员{} 10,30,80,100选择
组合框

我想从组合框更改列钱值



我试着用这个,但不知道更多:

  DataTable的DT =新的DataTable(); 
dt.Columns.Add(名,typeof运算(字符串));
dt.Columns.Add(钱途的typeof(字符串));
dt.Rows.Add(新的对象[] {100});
dt.Rows.Add(新的对象[] {文,30});

DataGridViewComboBoxColumn列=新DataGridViewComboBoxColumn();
变种list11 =新的List<串GT;(){10,30,80,100};
column.DataSource = list11;
column.ValueMember =钱;
dataGridView1.Columns.Add(列);


解决方案

试试这个

  dataGridView1.AutoGenerateColumns = FALSE; 

DataTable的DT =新的DataTable();
dt.Columns.Add(名,typeof运算(字符串));
dt.Columns.Add(钱途的typeof(字符串));
dt.Rows.Add(新的对象[] {100});
dt.Rows.Add(新的对象[] {文,30});

DataGridViewComboBoxColumn钱=新DataGridViewComboBoxColumn();
变种list11 =新的List<串GT;(){10,30,80,100};
money.DataSource = list11;
money.HeaderText =钱;
money.DataPropertyName =钱;

DataGridViewTextBoxColumn名=新DataGridViewTextBoxColumn();
name.HeaderText =姓名;
name.DataPropertyName =姓名;

dataGridView1.DataSource = DT;
dataGridView1.Columns.AddRange(姓名,钱);



只要使用 DataPropertyName 而不是 ValueMember


I have tables like that in Datagridview:

 Name   Money
 -------------
 Hi      100   //here Combobox with member {10,30,80,100} to choose
 Ki      30    //here Combobox with member {10,30,80,100} to choose

I want to change Column "Money" Value from combobox

I tried with this but dont know further:

DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("Money", typeof(String));
dt.Rows.Add(new object[] { "Hi", 100});
dt.Rows.Add(new object[] { "Ki", 30});

DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
var list11 = new List<string>() { "10", "30", "80", "100" };
column.DataSource = list11;
column.ValueMember = "Money";
dataGridView1.Columns.Add(column); 

解决方案

Try this

dataGridView1.AutoGenerateColumns = false;

DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("Money", typeof(String));
dt.Rows.Add(new object[] { "Hi", 100 });
dt.Rows.Add(new object[] { "Ki", 30 });

DataGridViewComboBoxColumn money = new DataGridViewComboBoxColumn();
var list11 = new List<string>() { "10", "30", "80", "100" };
money.DataSource = list11;
money.HeaderText = "Money";
money.DataPropertyName = "Money";

DataGridViewTextBoxColumn name = new DataGridViewTextBoxColumn();
name.HeaderText = "Name";
name.DataPropertyName = "Name";

dataGridView1.DataSource = dt;
dataGridView1.Columns.AddRange(name, money);

Just use DataPropertyName instead of ValueMember

这篇关于DataGridView的一组列单元格组合框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆