我是这样绑定datagridview的
 OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectCommand, con);
                OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                name.DataSource = table;
请问该如何设置某列为combox列呢

解决方案 »

  1.   

    name.DataSource = table
    name.DisplayMember = "Column Name"
    name.ValueMember = "Column Name2"
      

  2.   

    name必须是DataGridViewComboBoxColumn
      

  3.   

    我是想把某列变为combox列,不是要添加个combox列
      

  4.   

    http://topic.csdn.net/u/20090707/10/b94b449f-e90c-481a-ba76-660af71396f5.html?35235
      

  5.   

    无法将类型为“System.Windows.Forms.DataGridViewTextBoxColumn”的对象强制转换为类型“System.Windows.Forms.DataGridViewComboBoxColumn”。
      

  6.   

    如果我理解没错的话,你要问的问题是不是和datagridview控件无关。
    利用本来的datatable可以这样绑定到combobox控件上
    这是vs帮助文档上的combobox控件数据代码示例。其中使用的是dataset。
    我想dataset。table等价于datatable把。不然你可以试试改成dataset看看
    private void BindComboBox()
    {
      comboBox1.DataSource = dataSet1.Tables["Suppliers"];
      comboBox1.DisplayMember = "ProductName";
    }
      

  7.   

    在DataGridView中实现ComBox的绑定:
                DataGridViewComboBoxColumn dtDeparementID = new DataGridViewComboBoxColumn();
                dtDeparementID.DataSource=dt;//dt是绑定的Combox的数据源
                dtDeparementID.DisplayMember=“SDICNAME;//Combox的数据源中显示的字段
                dtDeparementID.ValueMember =“SID”;//Combox的数据源中值字段
                dtDeparementID.DataPropertyName = "sDepartmentID";//DataGridView的数据源绑定Combox字段
                dtDeparementID.HeaderText = "部门";
                dtDeparementID.SortMode = DataGridViewColumnSortMode.NotSortable;
                this.DataGridView1.Columns.Add(dtDeparementID);
      

  8.   

    datagridview无法将某列转换成combox
    要加combox列有两种方法:
    1.添加个新combox列,把旧的那列隐藏,但是这样不能动态改变datasouse的值,添加方法如8楼
    2.如8楼,在点击事件,或enter事件时,加个combox,造成显示的假象
    ComboBox cmb = new ComboBox();
    cmb.Name = "cmb1" ;
    cmb.Items.Add("43");//也可以綁定數據源
    cmb.Items.Add("345");
    Rectangle cellrect = dataGridView1.GetCellDisplayRectangle(2, 2, true);//以第三列第三行为例
    cmb.Height = cellrect.Height;
    cmb.Width = cellrect.Width;
    cmb.Top = cellrect.Top + dataGridView1.Top;
    cmb.Left = dataGridView1.Left + cellrect.Left;
    cmb.Visible = true;
    cmb.Text = dataGridView1.Rows[2].Cells[2].Value.ToString();
    this.Controls.Add(cmb);
    cmb.BringToFront();
      

  9.   

    我仔细看了一下,好像明白了,是在单元格中在点击时,生成一个combox的对话框,在读取数据的时候还是原来的textbox的样式~~~(初学者,请指教~)