读书人

请教各位将combox嵌入到datagridvie

发布时间: 2013-11-01 14:43:02 作者: rapoo

请问各位,将combox嵌入到datagridview中,如何让combox的内容为数据库取出的列值?
DataTable dtSex = new DataTable();
dtSex.Columns.Add("Value");
dtSex.Columns.Add("Name");
DataRow drSex;
drSex = dtSex.NewRow();
drSex[0] = "1";
drSex[1] = "男";
dtSex.Rows.Add(drSex);
drSex = dtSex.NewRow();
drSex[0] = "0";
drSex[1] = "女";
dtSex.Rows.Add(drSex);
cbx.ValueMember = "Value";
cbx.DisplayMember = "Name";
cbx.DataSource = dtSex;
cbx.DropDownStyle = ComboBoxStyle.DropDownList;
这个应该怎么变呢?
[解决办法]
combox1.Items.Clear();
DataTable dt = get_datatable(); //get_datatable()是获取数据表
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
combox1.Items.Add(dt.Rows[i].Columns[0]); //将值加入到combox1中
}
}
[解决办法]

引用:
Quote: 引用:

datagridviewcomboxColumn的名称是Column几?假设为i
Columni.Items.Addrange(new object []{})

其他老大有什么更好的办法没?
看看10楼的,估计是要单列才能这样。奇怪的很,不能直接从数据库拿出来放到dataset的表中,然后传递给datasource,这点我是没想通,不知道你有什么想法。

应该可以的,你把与Combobox相关代码添加到类的构造函数试一下。
[解决办法]
找到行DataGridView.Rows[x].FindControl("combox1"),然后赋值。
[解决办法]
引用:
Quote: 引用:

找到行DataGridView.Rows[x].FindControl("combox1"),然后赋值。
什么意思?在combox1.datasource赋值之前插入你的那个代码?


datasource绑定之后做。
[解决办法]
引用:
datagridviewcomboxColumn的名称是Column几?假设为i
Columni.Items.Addrange(new object []{})

其他老大有什么更好的办法没?

{}里是用SqlDataReader读取的数据组合。
我也知道向dataGridViewcomboxColumn列绑定列表的同时向dataGridView单元格填充数据有问题,但是我也正愁呢——虽然已经用别的方法绕开了。

读书人网 >C#

热点推荐