我把DataGridView中的一列设置为了DataGridViewComboBoxColumn 然后在代码中给它赋值下面是代码: /// <summary>
 /// 绑定 选择的设备
/// </summary>
private void Bgrid()
{
            dt_Ngrid = new DataTable();            dt_Ngrid.Columns.Add("NumberY", Type.GetType("System.String"));
            dt_Ngrid.Columns.Add("NameY", Type.GetType("System.String"));
            dt_Ngrid.Columns.Add("ModleY", Type.GetType("System.String"));
            dt_Ngrid.Columns.Add("FactoryY", Type.GetType("System.String"));
            dt_Ngrid.Columns.Add("IdY", Type.GetType("System.String"));            for (int i = 0; i < dt_Selected.Rows.Count; i++)
            {
                DataRow dr = dt_Ngrid.NewRow();                dr["NumberY"] = dt_Selected.Rows[i]["NumberY"].ToString();
                dr["ModleY"] = dt_Selected.Rows[i]["ModleY"].ToString();
                dr["FactoryY"] = dt_Selected.Rows[i]["FactoryY"].ToString();
                dr["NameY"] = dt_Selected.Rows[i]["NameY"].ToString();
                dr["IdY"] = dt_Selected.Rows[i]["IdY"].ToString();                dt_Ngrid.Rows.Add(dr);
            }
            dataGridView1.DataSource = dt_Ngrid;
            BgirdComboBox();
}
/// <summary>
/// 绑定 ComboBox
/// </summary>
private void BgirdComboBox()
{
            DataTable dt_com = new DataTable();
            dt_com.Columns.Add("Unit", Type.GetType("System.String"));            DataRow dr = dt_com.NewRow();
            dr["Unit"] = "个";
            dt_com.Rows.Add(dr);            dr = dt_com.NewRow();
            dr["Unit"] = "台";
            dt_com.Rows.Add(dr);            dr = dt_com.NewRow();
            dr["Unit"] = "套";
            dt_com.Rows.Add(dr);            dr = dt_com.NewRow();
            dr["Unit"] = "包";
            dt_com.Rows.Add(dr);            dr = dt_com.NewRow();
            dr["Unit"] = "箱";
            dt_com.Rows.Add(dr);            DataGridViewComboBoxCell cbc;
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                cbc = (DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells["Unit"];
                cbc.DisplayMember = "Unit";
                cbc.DataSource = dt_com.DefaultView;
            }
}但是数据没有绑定上!!!求教!

解决方案 »

  1.   

    语句dataGridView1.DataSource = dt_Ngrid;下面加上
    dataGridView1.DataBind();试一下还有一点
     dt_Ngrid.Columns.Add("NumberY", Type.GetType("System.String"));
      dt_Ngrid.Columns.Add("NameY", Type.GetType("System.String"));
      dt_Ngrid.Columns.Add("ModleY", Type.GetType("System.String"));
      dt_Ngrid.Columns.Add("FactoryY", Type.GetType("System.String"));
      dt_Ngrid.Columns.Add("IdY", Type.GetType("System.String"));
    这几句代码可以用一句话完成
      
    查询此表的空表头,返回dt
    DataRow dr = dt.NewRow();不知我这样说你能不能明白
      

  2.   

    最后细看了一下dt_Selected没有给值不知道你的程序是怎么回事情
      

  3.   

    dataGridView1.DataBind()这句话  应该是net页面中用的吧!