dataGridView添加ComboBox位置怎么修改?

我用的是
public ComboBox ComboBox1=new ComboBox();
public ComboBox ComboBox2=new ComboBox();
dataGridView1.Controls.Add(ComboBox1);
dataGridView1.Controls.Add(ComboBox2);
如果用DataGridViewComboBoxCell是解决不了联动问题的

我如果想要,dataGridView中某列成为 combobox怎么改
比如 “第三列”索引[2]为 combox
急待~~

第1个回答  2009-07-16
是不是变成 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下正确运行
第2个回答  推荐于2016-05-19
在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;
}本回答被提问者采纳
第3个回答  2009-07-21
干嘛不用insert来呢?

vb.net中的DataGridView控件设置列为DataGridViewComboBoxColumn...
1. 在设计视图中,打开DataGridView控件的属性窗口。2. 找到Columns属性,点击编辑按钮以打开列编辑器。3. 在列编辑器中,选择要设置为组合框列的列,然后将ColumnType属性设置为DataGridViewComboBoxColumn。4. 在列编辑器的属性窗口中,找到DisplayStyle属性,并将其设置为ComboBox。5. 找到ReadOnly属性...

C#combobox+dataGridView怎么弄
把dataGridView的visible设为false,点击comboBox时设为true并移动到该控件下方。使用select语句筛选出需要的记录。

如何做:C#写的C\/S程序,DataGridView中要添加一列下拉选框,下拉选框的...
1.单击DataGridView,此时,在其右上方会出现一个向右的小三角符号,单击它。2.在弹出的菜单中单击“编辑列”3.在出现的对话框中,选择要修改的列,或者新添加一列4.此时在右侧的属性表中,把其“ColumnType”改为“DataGridViewComboBoxColumn”,就成了下拉菜单 5.然后修改其"DataSource"属性,把数...

datagridview控件中的DataGridViewComboBoxColumn使用时怎么获取到下...
可以通过datagridview1.Rows[i].cell[0].Value.ToString()来得到这个所选的字符串,却得不到其SelectedIndex值,最初我想用(ComboBox)datagridview1.Rows[i].cell[0]来进行强制转换,但没有成功,没办法只好把上面得到的字符串再进行Switch,在每个case中进行枚举型的赋值,我想这肯定不是一个好的方...

C#的DataGridView中怎么为一列加一个Combox的控件效果如图
用拖动绑定数据源,表A用默认的网格控件即DataGridView,展开表A节点,最后一列是表B的可展开的节点,即表A中的表B节点,选择表B显示列是客户姓名,控件是ComboBox。拖动表A到窗体,显示DataGridView控件,拖动表B到DataGridView的外键列客户ID。参见博客,百度danyaody,第13章例13-6。

选择datagridview一行中的combobox的值,再将这个值所对应的表的数据重新...
如果你使用的是DataGridViewComboBoxColumn 用datagridview的CellValueChanged事件 if(e.RowIndex>-1&&e.ColumnIndex = 0){ string value = datagridview.Rows[e.RowIndex].Cell[e.ColumnIndex].Value.ToString()DataTable dt = 根据value 查询对应数据(value);object[] objRow = dt.Rows[0].Item...

C#winform问题 datagridview中combobox选项改变触发事件用哪个方法_百 ...
combobox的索引是5,如果不确定,可以通过弹出e.ColumnIndex看看你所点击的combobox的索引是几 private void datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e){ if (e.ColumnIndex == 5 && e.RowIndex != -1 && !datagridview.Rows[e.RowIndex].IsNewRow){ \/\/这个地方写...

如何设置datagridview列为combobox
代码添加 With Me.DataGridView1 .Columns.Add(New DataGridViewComboBoxColumn)End With 或者设计时在datagridview上右键添加列,然后指定列名,并指定类型为DataGridViewComboBoxColumn

C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你...
如果你的combobox控件名为comboBox1,那么可以这样注册事件:comboBox1.SelectedIndexChanged+=new EventHandler(comboBox1_SelectedIndexChanged);然后,当选项改变时,可以在以下事件中处理:private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ \/\/你的处理代码,sender为combobox控件,使用...

vb.net中如何给datagridview的每个combobox单元格指定独立的下拉列表...
1、首先新建一个Windows应用程序,将主窗体重命名为MainForm,在MainForm中加入一个DataGridView控件,命名为dgv_User。 2、打开窗体代码窗口,在代码窗口中声明一个ComboBox的控件 \/\/ 定义下拉列表框 private ComboBox cmb_Temp = new ComboBox(); 3、方法: \/\/\/ \/\/\/ 绑定下拉列表框 \/\/\/ private void Bind...

相似回答