日期:2014-05-18  浏览次数:20962 次

DataGridViewComboBoxColumn
我的问题类似下面的这个描述
1.界面中有一个DataGridView控件,该控件有两列。一列为“省”,一列为“市”。两个列的类型均为DataGridView
ComboBoxColumn。
2.在构造时,把“省”列的Items初始化为“河南”、“河北”等省。
3.“市”列的Items不进行静态初始化,而是进行动态初始化。当选择“河南”时,“市”列的Items初始化为河南的市。
当选择“河北”时,“市”列的Items初始化为河北的市。

问题:
1.先增加一行,河南 郑州。
2.然后准备增加一行,河北,石家庄。当选择“省”为河北后,按照上面的逻辑,要把“市”列的Items重新初始化为河北的市,如石家庄等。这时候,由于“市”列的Items中不包括“郑州”。所以,会出现异常,第一行的“市”列的值“郑州”不合法。“DataGridViewComboBoxCell值无效”。
3.该如何解决,敬请高手支招。

------解决方案--------------------
http://blog.csdn.net/luochengbang/archive/2008/09/17/2937194.aspx
------解决方案--------------------
C# code

public partial class Form1 : Form
    {
        //public Form1()
        //{
        //    InitializeComponent();
        //}

        string[] province = { "HeBei","HeNan" };

        public Form1()
        {
            InitializeComponent();

            DataGridViewComboBoxColumn col1 = (DataGridViewComboBoxColumn)(dataGridView1.Columns["colProvince"]);
            foreach (string s in province)
            {
                col1.Items.Add(s);
            }
        }

       
    }