首先我在datagridview上手动,编辑添加一列combox,其他的列也是手动编辑的
我在form里有个隐藏的combox1,是我从后台SQL里查出来的。我想把这个隐藏的combox1的值给我的datagridview里的combox。
datagridview出来的每一行数据都有combox这一列。我本来是这样想的
DataTable a =(DataTable)combox1.DataSource;
datagridview.Columns["move_place"].DataSource=a;//哈哈,这样最简单直接这一列全是一样的的了。但是没有这样的方法不知道怎么实现!

解决方案 »

  1.   

    !绕了好大一个弯子啊~~
    DataTable   a   =(DataTable)combox1.DataSource; 
    这样好像是不行的……你干嘛不在给combox1.DataSource付值的时候,把数据源保存为全局变量!?
      

  2.   

    vs2005里的bindingSource控件就是干这个的……
      

  3.   

    不要绑定,全部是通过代码实现的。现在是怎么样把datagridview里的combox这一列赋值。谢谢~
      

  4.   

    ……不绑定,你就只能foreach一项一项加了~~
      

  5.   

    但是你至少要事先要設計好某一列是combox型的吧,設計好後就可以編碼了呀。
    跟combox一樣的寫呀。
      

  6.   

    if (!wp.ResDataSet.Tables.Contains("Err"))
                {
                    dataTable = wp.ResDataSet.Tables["place"];                //指定下拉列表的显示和值,绑定数据
                    move_in.DisplayMember = "place_name";
                    move_in.ValueMember = "place_id";
                    if (dataTable != null)
                    {
                        move_in.DataSource = dataTable.DefaultView;
                    }
                }move_in是combox,这个我都写好了。但是datagridview里的combox不知道怎么写?
    0xff 说的:循环写?那么就循环写,但是怎么赋值呀。
      

  7.   

    你应该给datagridview.Columns[ "move_place "]定义一个DataGridViewComboBoxCell下面是MSDN中的一个例子:private DataGridViewComboBoxColumn CreateComboBoxColumn()
    {
        DataGridViewComboBoxColumn column =
            new DataGridViewComboBoxColumn();
        {
            column.DataPropertyName = ColumnName.TitleOfCourtesy.ToString();
            column.HeaderText = ColumnName.TitleOfCourtesy.ToString();
            column.DropDownWidth = 160;
            column.Width = 90;
            column.MaxDropDownItems = 3;
            column.FlatStyle = FlatStyle.Flat;
        }
        return column;
    }private void SetAlternateChoicesUsingDataSource(DataGridViewComboBoxColumn comboboxColumn)
    {
        {
            comboboxColumn.DataSource = RetrieveAlternativeTitles();
            comboboxColumn.ValueMember = ColumnName.TitleOfCourtesy.ToString();
            comboboxColumn.DisplayMember = comboboxColumn.ValueMember;
        }
    }private DataTable RetrieveAlternativeTitles()
    {
        return Populate("SELECT distinct TitleOfCourtesy FROM Employees");
    }string connectionString =
        "Integrated Security=SSPI;Persist Security Info=False;" +
        "Initial Catalog=Northwind;Data Source=localhost";private DataTable Populate(string sqlCommand)
    {
        SqlConnection northwindConnection = new SqlConnection(connectionString);
        northwindConnection.Open();    SqlCommand command = new SqlCommand(sqlCommand, northwindConnection);
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = command;    DataTable table = new DataTable();
        table.Locale = System.Globalization.CultureInfo.InvariantCulture;
        adapter.Fill(table);    return table;
    }
      

  8.   

    你这些都是自己写个combox列然后加上去,这个我会亚,我是说本身datagridview里的combox怎么赋值
    要是按照楼上的方法我早就写出来了
    //测试
                if (!View.Columns.Contains("move_place"))
                {
                    DataGridViewComboBoxColumn dgvcbc = new DataGridViewComboBoxColumn();
                    dgvcbc.Name = "move_place";
                    dgvcbc.HeaderText = "新库位";
                    dgvcbc.DataSource = dataTable;
                    dgvcbc.ValueMember = "place_id";
                    dgvcbc.DisplayMember = "place_name";
                    dgvcbc.DataPropertyName = "move_place";
                    this.View.Columns.Add(dgvcbc);
                    this.View.Columns["move_place"].ReadOnly = false;
                    //dgvcbc.DisplayIndex = 20;
                }
      

  9.   

    还有个问题,怎么设置在这一列的combox的默认值
      

  10.   

    combox列.DefaultCellStyle.NullValue = "请选择";
    问题都解决了~靠人不如靠己啊
      

  11.   

    参考下:
    http://blog.csdn.net/netcoder/archive/2007/09/05/1772633.aspx
      

  12.   

    13楼的是vb.net不过方法不错!
      

  13.   

     在datagridview里给comboBox绑定呗,和一个单独的comboBox控件绑定是一样的方法