可以这样赋值,但是所附的值,必须在datagridviewcombobox的数据源中

解决方案 »

  1.   

    给列赋值?是给选项赋值吧
    赋值的时候你要给对应的value值,而不是给显示的文本,否则会报错类型不正确
      

  2.   

    赋值之前,应先把列添加进去,例如, DataGridViewComboBoxColumn bb = new DataGridViewComboBoxColumn();
                bb.DataSource = list;
                bb.HeaderText = "名称";
                bb.DisplayMember = "Value";
                bb.ValueMember = "Index";
                bb.DataPropertyName = "Index";
                //bb.AutoComplete = true;
                this.dataGridView1.Columns.Add(bb);
      

  3.   

    额,,我木有数据源,是从数据库里读出来的数据,然后想给出一个下拉框,可以理解成有一个string[]数组,然后要把数组里面的内容放到这个下拉框里可以怎么做,试了好几种方法都木有成功
      

  4.   

    对,就是给每一行增加一个下拉框,然后需要给出这个下拉框的选项,这些选项我想从string[]数组中读取加入,可以怎么做?
      

  5.   


    我直接在窗体设计中选择了ComboBox的列类型,然后直接给下拉框选项赋值可以吗?
      

  6.   

    可以
    不过你也必须在窗体设计器里事先指定它的DataSource,DisplayMember,ValueMember
      

  7.   

    数据源不能是string[]
    数组本身不能作为数据源
    而且你数组是运行时动态定义的,设计阶段根本没法给设计器指定它作为数据源啊
      

  8.   

    可以
    不过你也必须在窗体设计器里事先指定它的DataSource,DisplayMember,ValueMember
    没有数据源不行吗?
      

  9.   

    不行
    因为表格控件里的ComboBox里面其实是DropDownList,而不是DropDown
    真正的ComboBox有3种选项:single,DropDown,DropDownList,默认是DropDown,也就是文本框+DropDownList而表格里的ComboBox列只是DropDownList,它不能当文本框使用,所以必须绑定数据源,然后设置value值,而不在数据源里的数据则不能指定给value
      

  10.   

    额,,,那还有木有别的办法可以在datagridview中添加这种动态赋值的下拉框?
      

  11.   

    如果你想在DataGridView里加ComboBox控件,而不是DataGridViewComboBoxColumn
    你得自己重绘控件这样你就可以把它们当做不同的ComboBox控件来处理,每个ComboBox绑定的数据也可以是不同的否则只能整列绑定数据源,并且选项都是同样的选项