vs2008
我在窗体中加了一个combobox,绑定了一个数据源(数据库的一列)
现在想要根据另一个窗体的输出决定这个combobox的值。比如说,母窗体传入2, 则用combobox显示数据源的第2个;
如果传入33, 则combobox显示数据源的第33个。请问,应该如何实现?
我已经试过了selectedIndex,不管用,
====
comboFirstName.SelectedIndex = editID;
报错为:
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in System.Windows.Forms.dllAdditional information: InvalidArgument=Value of '1' is not valid for 'SelectedIndex'.
====
多谢

解决方案 »

  1.   

    comboFirstName.SelectedIndex = editID; 
    -------------------------------
    SelectedIndex不是不管用,而是你的写法有问题:SelectedIndex需要一个int,而你传过来的是字符或字符串。comboFirstName.SelectedIndex = int.Parse(editID); 
      

  2.   

    这个错误应该是你指定SelectedIndex的时候数据绑定并没有完成 也就是说 你的指定在绑定事件之前发生。。所以这个时候combobox里面其实是没有值的就会报超出索引范围的错误
    我知道asp.net 的 combobox控件有个 绑定后事件winform的还没有了解过
      

  3.   

    这里的editID是int型,
    我可以直接赋值:
    comboFirstName.SelectedIndex = 3
    但是还是不行。
    报错和刚才的一样。
      

  4.   

    用comboFirstName.SelectedIndex = value时的前提条件是保证combox里面有数据,不然发生索引超出范围
      

  5.   

    还用想么
    ,comboFirstName的items里面内容滴没有