我在winform窗体中用DataGridView中绑定一个表中的Id和Sex字段,sex字段我用下拉类型来显示,在sql2005数据库里面不报DataGridViewComBoxCell 值无效的错误,但是在sql2000里面我怀疑是数据库字段类型的错误,想彻底解决这个问题,我的思路是将往DataGridView中添加DataGridViewComboBoxColumn类型的列,把字段sex绑定在这个列上,目前存在的问题的是:需要这个DataGridViewComboBoxCell显示的是数据库中的值,请问哪位解决过这个问题,帮忙解决下,谢谢。

解决方案 »

  1.   

    不知道是不是楼主要的结果: 
    DataGridViewComboBoxColumn co_sex = new DataGridViewComboBoxColumn();
                co_sex.DataPropertyName = "Sex";
                co_sex.HeaderText = "性别";
                DataTable dt = new DataTable();
                dt.Columns.Add("sexname");
                dt.Columns.Add("sexvalue");
                DataRow dr = dt.NewRow();
                dr[0] = "男";
                dr[1] = "男";//与数据库中的值对应
                dt.Rows.Add(dr);
                DataRow dr1 = dt.NewRow();
                dr1[0] = "女";
                dr1[1] = "女";//与数据库中的值对应
                dt.Rows.Add(dr1);
                
                co_sex.DataSource = dt;
                co_sex.ValueMember = "sexvalue";
                co_sex.DisplayMember = "sexname";
                
                this.dgUser.Columns.Add(co_sex);
      

  2.   

    保证DataPropertyName和ValueMember对应的两列类型保持一致