DatagridViewComboxColumn cmbox = Datagridview.Columns["COmbox控件的Name"] as DatagridViewComboxColumn ;   cmbox.DataSource = 下框的数据源;   
cmbox.DataPropertyName= datagrid的数据源的要绑定的列;   
cmbox.d...Member="下拉框显示的TEXT";   
cmbox.ValueMember="隐藏的值";   
DataGridViewComboBoxColumn csex = new DataGridViewComboBoxColumn();   
csex.DataPropertyName = "sSex";   
 csex.HeaderText = "性别";   
  DataTable dt = new DataTable();   
  dt.Columns.Add("sexname");   
  dt.Columns.Add("sexvalue");   
  DataRow dr = dt.NewRow();   
  dr[0] = "男";   
  dr[1] = "1";   
  dt.Rows.Add(dr);   
  DataRow dr1 = dt.NewRow();   
  dr1[0] = "女";   
  dr1[1] = "2";   
  dt.Rows.Add(dr1);   
    
  csex.DataSource = dt;   
  csex.ValueMember = "sexvalue";   
  csex.DisplayMember = "sexname";   
  this.datagridview1.Columns.Add(csex); 

解决方案 »

  1.   

    DataRow dr = dt.NewRow();   
      dr[0] = "男";   
      dr[1] = "1";   
      dt.Rows.Add(dr);   
      DataRow dr1 = dt.NewRow();   
      dr1[0] = "女";   
      dr1[1] = "2";   
      dt.Rows.Add(dr1);  改成dt.Rows.Add("男","1")
       dt.Rows.Add("女","2")
    不是更简洁吗?
      

  2.   

    问的是Form_load的时候初始化,如何给下拉框的列表赋值默认值
      

  3.   

    假设datagridview的数据源为dt, 
       dt 有一列名为ID,另一列为NamecomboBox1.DataSource = dt;
    comboBox1.DisplayMember = "Name";
    comboBox1.ValueMember = "ID";这样comboBox1就会将Name列作为下拉框的内容;将ID列做为真实值,如果想要Name列为真实值,就直接用
    comboBox1.ValueMember = "Name"; 就可以了
      

  4.   

    在数据绑定后遍历 grid 找到 某行中的combobox控件对应赋值
    通常是在 DataBound事件中
      

  5.   

    this.comboboxx1.SelectedIndex = 0;//默认显示第一个