如题,现在如果在代码中给一个ComboBox类型的单元格不能通过它的Value属性赋值,怎样能直接给它赋值呢?类似于ComboBox控件似的,可以直接通过Text属性给它赋值。

解决方案 »

  1.   


    就是WInForm上放一个DataGridView控件,某列的类型为DataGridViewComboBoxColumn,在Load的时候,设置该列的某个cell的值,但是如果直接Cell.Value= 值,这样会出错,我想知道怎么设置它的值。
      

  2.   

    可以用属性绑定datagridview 的每一列对应于 某个类的一个属性就ok了 当属性值发生变化时 datagridview的单元格会自动跟随变化或者采用直接赋值的方式
    datagridview[“列名”,i].value = ****.text; 其中i为行号
      

  3.   

    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);   
      

  4.   


    只能通过绑定数据源来解决么,不能类似于设定个Value,或者设定下拉框中的索引来设定值么?
      

  5.   

    http://topic.csdn.net/u/20100629/15/59a384dc-c94a-4659-b040-0ed35d9e5c17.html
      

  6.   


    或者你可以建一个字典Dictionary
    KEY  VALUE
    1     小王
    2     小李
      

  7.   

    DataGridViewComboBoxColumn dgvcb= new DataGridViewComboBoxColumn();
    dgvcb.Item.Add("aaaa");
      

  8.   

                DataGridViewComboBoxColumn cb = new DataGridViewComboBoxColumn();
                DataTable dt = new DataTable();
                dt.Columns.Add("ID");
                dt.Columns.Add("Name");            DataRow dr = dt.NewRow();
                dr[0] = "1";
                dr[1] = "asdad";
                
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr[0] = "2";
                dr[1] = "aasasdassdad";
                dt.Rows.Add(dr);            cb.DataSource = dt;
                cb.DisplayMember = "Name";
                cb.ValueMember = "ID";
                this.dataGridView1.Columns.Add(cb);        private void button1_Click(object sender, EventArgs e)
            {
                this.dataGridView1.Rows[0].Cells[0].Value = "1";
    }
    我这边没问题哦
      

  9.   

    你要把DataGridView的DataErr事件也处理下
      

  10.   


    就是设readonly为false,然后直接通过value属性赋值