dataGridView添加ComboBox位置怎么修改?
我用的是publicComboBoxComboBox1=newComboBox();publicComboBoxComboBox2=newComboBox();dataG...
我用的是
public ComboBox ComboBox1=new ComboBox();
public ComboBox ComboBox2=new ComboBox();
dataGridView1.Controls.Add(ComboBox1);
dataGridView1.Controls.Add(ComboBox2);
如果用DataGridViewComboBoxCell是解决不了联动问题的
我如果想要,dataGridView中某列成为 combobox怎么改
比如 “第三列”索引[2]为 combox
急待~~ 展开
public ComboBox ComboBox1=new ComboBox();
public ComboBox ComboBox2=new ComboBox();
dataGridView1.Controls.Add(ComboBox1);
dataGridView1.Controls.Add(ComboBox2);
如果用DataGridViewComboBoxCell是解决不了联动问题的
我如果想要,dataGridView中某列成为 combobox怎么改
比如 “第三列”索引[2]为 combox
急待~~ 展开
3个回答
展开全部
是不是变成 combobox的下拉属性呢?
如果是 那么你可以参考这个代码
首先 将数据库中的数据放入本地dataset中的datatable中
SqlConnection cn = new SqlConnection();
string sqlcon = 略;
cn.ConnectionString = sqlcon;
SqlDataAdapter ada2;
DataSet ds2;
ds2 = new DataSet();
//利用Adapter对象查询用户
string sqlString;
sqlString = "select "+id +" from "+ table_name +" ";
ada2 = new SqlDataAdapter(sqlString, cn);
//查询结果存放到ds中的user表中
ada2.Fill(ds2);
return ds2.Tables[0];
然后呢 在前台接宏缺氏收这个函数的返回值
DataTable dt1 = g1.getRows_do("单位编号","单位信息");
然后呢 把这个表中的某一列的值加蔽散入某一个combobox的下拉菜单中
for (int i=0;i<dt1.Rows .Count ;i++)
{
comboBox3.Items.Add(dt1.Rows[i][0]);//核心
comboBox4.Items.Add(dt1.Rows[i][0]);//核心
}
而你的datagridview的DataSource 也应该是这个表 所以解决了联动扮带问题
你试试吧?
这是我刚刚完成的课程设计中的一部分 可以在vs2008+sql2008下正确运行
如果是 那么你可以参考这个代码
首先 将数据库中的数据放入本地dataset中的datatable中
SqlConnection cn = new SqlConnection();
string sqlcon = 略;
cn.ConnectionString = sqlcon;
SqlDataAdapter ada2;
DataSet ds2;
ds2 = new DataSet();
//利用Adapter对象查询用户
string sqlString;
sqlString = "select "+id +" from "+ table_name +" ";
ada2 = new SqlDataAdapter(sqlString, cn);
//查询结果存放到ds中的user表中
ada2.Fill(ds2);
return ds2.Tables[0];
然后呢 在前台接宏缺氏收这个函数的返回值
DataTable dt1 = g1.getRows_do("单位编号","单位信息");
然后呢 把这个表中的某一列的值加蔽散入某一个combobox的下拉菜单中
for (int i=0;i<dt1.Rows .Count ;i++)
{
comboBox3.Items.Add(dt1.Rows[i][0]);//核心
comboBox4.Items.Add(dt1.Rows[i][0]);//核心
}
而你的datagridview的DataSource 也应该是这个表 所以解决了联动扮带问题
你试试吧?
这是我刚刚完成的课程设计中的一部分 可以在vs2008+sql2008下正确运行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在FormLoad事件中dg1.Controls.Add(ComboBox1);
在datagridview的CurrentCellChanged事件兆圆中
private void dg1_CurrentCellChanged(object sender, EventArgs e)
{ DataGridViewCell CurrnetCell = dg1.CurrentCell;
if(CurrnetCell!=null && CurrnetCell.OwningColumn.Name=="第族世塌三列")
{
....sql返返链回dataset
ComboBox1.Visible = true;
ComboBox1.DataSource = tableNameCombox.DefaultView;
ComboBox1.DisplayMember = "ColumnName";
ComboBox1.ValueMember = "Num";
System.Drawing.Rectangle TmpRect = dg1.GetCellDisplayRectangle(CurrnetCell.ColumnIndex, CurrnetCell.RowIndex, true);
ComboBox1.Size = TmpRect.Size;
ComboBox1.Top = TmpRect.Top;
ComboBox1.Left = TmpRect.Left;
}
在datagridview的CurrentCellChanged事件兆圆中
private void dg1_CurrentCellChanged(object sender, EventArgs e)
{ DataGridViewCell CurrnetCell = dg1.CurrentCell;
if(CurrnetCell!=null && CurrnetCell.OwningColumn.Name=="第族世塌三列")
{
....sql返返链回dataset
ComboBox1.Visible = true;
ComboBox1.DataSource = tableNameCombox.DefaultView;
ComboBox1.DisplayMember = "ColumnName";
ComboBox1.ValueMember = "Num";
System.Drawing.Rectangle TmpRect = dg1.GetCellDisplayRectangle(CurrnetCell.ColumnIndex, CurrnetCell.RowIndex, true);
ComboBox1.Size = TmpRect.Size;
ComboBox1.Top = TmpRect.Top;
ComboBox1.Left = TmpRect.Left;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-07-21
展开全部
干嘛不用insert来呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询