DataGridViewComboBoxColumn绑定数据后,如何默认选择一个item?

解决方案 »

  1.   

    lz:完整解决办法如下:
      数据绑定并不代表已经对单元格进行赋值,其实只是对DataGridViewComboBoxColumn.Items进行填充而已,而DataGridViewComboBoxCell.Value 此时并没有值(它不同于DataGridViewTextBoxCell ),所以,不管怎样,都须要对此单元格进行人为赋值。  在绑定数据之后,调用如下代码即可:
            /// <summary>
            /// 设置单元格值
            /// </summary>
            /// <param name="columnIndex">列索引</param>
            private void SetCellValue(int columnIndex)
            {
                int i = 0;                  //行索引
                int j = 0;                  //根据行索引得到combex的子项item索引
                int count = dataGridView1.Rows.Count;            DataGridViewRow dgr = null;
                DataGridViewComboBoxCell dgc = null;
                try
                {
                    for(i=0;i<count;i++)
                    {
                        dgr = dataGridView1.Rows[i];
                        dgc = (DataGridViewComboBoxCell)dgr.Cells[columnIndex];                    switch (i)              //根据实际需要,由行得出items子项索引
                        {
                            case 0:
                                j = 1;
                                break;
                            case 1:
                                j = 0;
                                break;
                            。。
                            default:
                                break;
                        }
                        dgc.Value = dgc.Items[j];//对单元格进行赋值
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
      

  2.   

    因为这些Combobox都是动态创建的,所以可以在创建的时候指定,即GridView的ContentCreat事件里边去,判断当前是不是创建的Combobox,如果是,则强制转换一下,并且指定默认item.
      

  3.   

    sdl2005lyx() 
    不行,报错
    System.FormatException:DataGridViewComboBoxCell值无效
      

  4.   

    热烈祝贺ASP.NET群7947148成立了。
      

  5.   

    先判断Items里面的ValueMember的数据类型,然后直接付值
      

  6.   

    lz:你那列不是DataGridViewComboBoxColumn类型的吗,怎么会无效呢?
    我告诉你的办法有一个前提:你已经绑定了数据,如果是这样,是没问题的,
    你可以在试试.还有一个疑问:ld所说的,真的行吗????
      

  7.   

    chkff_01() 
    先判断Items里面的ValueMember的数据类型,然后直接付值如何做?具体点..