110,571
社区成员
发帖
与我相关
我的任务
分享
//取得车型代码
//string mysql = "select patterncode from tabhead where vin='" + comboBox1.SelectedValue.ToString() + "'";
//string cartype = dbclass.dt(mysql, "mysql").Rows[0][0].ToString();
////根据取得的车型绑定dataGridView2
//string s = "select workpos,desno,partname,caozuo,guzhang,paigu,bz from tabzzmb where cartype='" + cartype + "' ";
//dataGridView2.DataSource = dbclass.dt(s, "s").DefaultView;
//确认你上面的代码没有问题
//在你上面的数据绑定完毕之后执行如下代码
//////将你的列添加提取到外面来,不能在循环体内添加,是错误的
DataGridViewComboBoxColumn dcon = new DataGridViewComboBoxColumn();
dataGridView1.Columns.Insert(0, dcon);
//上面的代码已经添加了一个新的combobox列所以我们仅需要修改每一行该列combox的数据源并进行数据绑定
//下面进入循环
//由于dataGridView1默认添加了一行空白行在数据表的最后面所以我这里dataGridView1.Rows.Count-1
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
//获取你需要绑定的数据源由于我的demo环境和你不相同代码略有出入你自己修改
//string s1 = "select providername from tabprovider where desno='" + dataGridView2.Rows[0].Cells["desno"].Value.ToString().Trim() + "'";
//因为我没有你的数据表所以下面这一段是我模拟为每一个combobox构建了一个数据源来做演示
//你只需要将你的sql数据查询结果替换下面这段构建数据源的代码就行了
DataTable dtCombo = new DataTable();
#region 为combobox模拟构建数据源
DataColumn dcCombo = new DataColumn("string");
DataColumn dcComboValue = new DataColumn("value");
dtCombo.Columns.Add(dcCombo);
dtCombo.Columns.Add(dcComboValue);
int n=0;
foreach (char ca in dataGridView1.Rows[i].Cells[2].Value.ToString())
{
DataRow dr = dtCombo.NewRow();
dr[0] = ca.ToString();
dr[1] = n;
dtCombo.Rows.Add(dr);
n++;
}
#endregion
//将你查询出来的数据源绑定到指定的combobox
//(DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells[0]这里我之所以写Cells[0]是因为
//我在前面插入列的时候是插入的第一列 dataGridView1.Columns.Insert(0, dcon);
//你将代码修改成你的指定列就行了
((DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells[0]).DataSource = dtCombo;
((DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells[0]).DisplayMember = "string";
((DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells[0]).ValueMember = "value";
//((DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells[0]).Value = "1";是设定默认选中项
//Value属性的设置值就是你ValueMember绑定列其中的一个值,对应起来的这个你没有问题吧
((DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells[0]).Value = "1";
#region 你的代码
//dcon.DataSource = dbclass.dt(s1, "s1");
//dcon.ValueMember = "providername";
//dcon.DisplayMember = "providername";
//dcon.HeaderText = "供货厂家";
#endregion
}
// 取得车型代码
string mysql = "select patterncode from tabhead where vin='" + comboBox1.SelectedValue.ToString() + "'";
string cartype = dbclass.dt(mysql, "mysql").Rows[0][0].ToString();
//根据取得的车型绑定dataGridView2
string s = "select workpos,desno,partname,caozuo,guzhang,paigu,bz from tabzzmb where cartype='" + cartype + "'";
dataGridView2.DataSource = dbclass.dt(s, "s").DefaultView;
DataGridViewComboBoxColumn dcon = new DataGridViewComboBoxColumn();
//dcon.DataSource = null;
dcon.ValueMember="providername";
dcon.DisplayMember="providername";
dcon.HeaderText="供货厂家";
dataGridView2.Columns.Insert(4,dcon);
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
//DataGridViewCell dcon = new DataGridViewCell();
string s1="select providername from tabprovider where desno='" + dataGridView2.Rows[0].Cells["desno"].Value.ToString().Trim() + "'";
//dcon.DataSource=dbclass.dt(s1,"s1");
((DataGridViewComboBoxCell)dataGridView2.Rows[i].Cells[4]).DataSource = dbclass.dt(s1, "s1");
((DataGridViewComboBoxCell)dataGridView2.Rows[i].Cells[4]).ValueMember = "providername";
((DataGridViewComboBoxCell)dataGridView2.Rows[i].Cells[4]).DisplayMember = "providername";
((DataGridViewComboBoxCell)dataGridView2.Rows[i].Cells[4]).Value = "a";
//dcon.DataSource = dataGridView2.Rows[0].Cells["providername"].Value.ToString().Trim();
}
}
// 取得车型代码
string mysql = "select patterncode from tabhead where vin='" + comboBox1.SelectedValue.ToString() + "'";
string cartype = dbclass.dt(mysql, "mysql").Rows[0][0].ToString();
//根据取得的车型绑定dataGridView2
string s = "select workpos,desno,partname,caozuo,guzhang,paigu,bz from tabzzmb where cartype='" + cartype + "' ";
dataGridView2.DataSource = dbclass.dt(s, "s").DefaultView;
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
DataGridViewComboBoxColumn dcon = new DataGridViewComboBoxColumn();
string s1 = "select providername from tabprovider where desno='" + dataGridView2.Rows[0].Cells["desno"].Value.ToString().Trim() + "'";
//dbclass.msgbox(s1,"",0);
//return;
dcon.DataSource = dbclass.dt(s1,"s1");
//DataTable dt = dbclass.dt(s1, "s1");
dcon.ValueMember = "providername";
dcon.DisplayMember ="providername";
dcon.HeaderText = "供货厂家";
dataGridView2.Columns.Insert(4,dcon);
}
}
((DataGridViewComboBoxCell)dataGridView1.Rows[2].Cells[2]).DataSource = dt;
((DataGridViewComboBoxCell)dataGridView1.Rows[2].Cells[2]).DisplayMember = "depname";
((DataGridViewComboBoxCell)dataGridView1.Rows[2].Cells[2]).ValueMember = "depid";
((DataGridViewComboBoxCell)dataGridView1.Rows[2].Cells[2]).Value = "01";
'DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = SysDataSet1.Tables("客户状况表") 'DataGridView邦定客户状况表
'在DataGridView中添加业务员姓名列
Dim colYeWu As New DataGridViewComboBoxColumn
colYeWu.DataPropertyName = "员工ID"
colYeWu.Name = "员工姓名"
colYeWu.DataSource = SysDataSet1.Tables("员工信息表")
colYeWu.DisplayMember = "员工姓名"
colYeWu.ValueMember = "员工ID"
colYeWu.HeaderText = "业务员"
colYeWu.Width = 80
colYeWu.SortMode = DataGridViewColumnSortMode.Automatic
DataGridView1.Columns.Add(colYeWu)
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("名字");
DataColumn dcs = new DataColumn("你好");
DataColumn dc2 = new DataColumn("xx1");
dt.Columns.Add(dc);
dt.Columns.Add(dcs);
dt.Columns.Add(dc2);
DataRow dr;
for (int i = 0; i < 11; i++)
{
dr = dt.NewRow();
dr[0] = "false";
dr[1] = "stringxx" + i.ToString();
dr[2] = "";
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
foreach (DataGridViewRow dgvr in dataGridView1.Rows)
{
if (dgvr.Cells[1].Value == null)
{
continue;
}
string all = "";
try
{
all = dgvr.Cells[1].Value.ToString();
}
catch
{
}
if (dgvr.Index < dataGridView1.Rows.Count - 1)
{
DataTable dt1 = new DataTable();
DataColumn dc1 = new DataColumn("string");
dt1.Columns.Add(dc1);
foreach (char ca in all.ToCharArray())
{
DataRow dr1 = dt1.NewRow();
dr1[0] = ca.ToString();
dt1.Rows.Add(dr1);
}
((DataGridViewComboBoxCell)dgvr.Cells[2]).DataSource = dt1;
((DataGridViewComboBoxCell)dgvr.Cells[2]).DisplayMember = "string";
((DataGridViewComboBoxCell)dgvr.Cells[2]).ValueMember = "string";
((DataGridViewComboBoxCell)dgvr.Cells[2]).Value = "r";
}
}
((DataGridViewComboBoxCell)dgvr.Cells[e.Column.Index]).ValueMember = "string";
((DataGridViewComboBoxCell)dgvr.Cells[e.Column.Index]).Value = "r";