.net 在组合框中选择的任何项目的选定值给我空值为什么

.net 在组合框中选择的任何项目的选定值给我空值为什么,.net,winforms,c#-4.0,combobox,.net,Winforms,C# 4.0,Combobox,问题 组合框中任意项目的选定值为空,为什么 详细信息 我在windows form c#visual studio 2015中工作 我从ExcelSheet2007中获得了组合框的数据 excel表格有两列 MemberId表示组合框的值 var fileName = string.Format("{0}\\Book3105", Directory.GetCurrentDirectory()); var connection = string.Format("Provider=

问题

组合框中任意项目的选定值为空,为什么

详细信息

我在windows form c#visual studio 2015中工作

我从ExcelSheet2007中获得了组合框的数据

excel表格有两列

MemberId表示组合框的值

 var fileName = string.Format("{0}\\Book3105", Directory.GetCurrentDirectory());
        var connection = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source={0};Mode=ReadWrite;Extended Properties=Excel 12.0 Xml;", fileName);

        OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + "D:\\Book3105.xlsx" + ";" + "Extended Properties=\"Excel 12.0;HDR=YES\"");
        OleDbConnection con = new OleDbConnection(connection);

        try
        {
            con.Open();
            str = "select * from [sheet2$]";
            com = new OleDbCommand(str, con);
            oledbda = new OleDbDataAdapter(com);
            ds = new DataSet();
            oledbda.Fill(ds, "[sheet2$]");
            con.Close();

            dt = ds.Tables["[sheet2$]"];
            int i = 0;


            for (i = 0; i <= dt.Rows.Count - 1; i++)
            {
                comboBox4.Items.Insert(0, "select member");
                comboBox4.SelectedIndex = 0;
                comboBox4.Items.Add(dt.Rows[i].ItemArray[1]);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
MemberName表示组合框中的文本

 var fileName = string.Format("{0}\\Book3105", Directory.GetCurrentDirectory());
        var connection = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source={0};Mode=ReadWrite;Extended Properties=Excel 12.0 Xml;", fileName);

        OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + "D:\\Book3105.xlsx" + ";" + "Extended Properties=\"Excel 12.0;HDR=YES\"");
        OleDbConnection con = new OleDbConnection(connection);

        try
        {
            con.Open();
            str = "select * from [sheet2$]";
            com = new OleDbCommand(str, con);
            oledbda = new OleDbDataAdapter(com);
            ds = new DataSet();
            oledbda.Fill(ds, "[sheet2$]");
            con.Close();

            dt = ds.Tables["[sheet2$]"];
            int i = 0;


            for (i = 0; i <= dt.Rows.Count - 1; i++)
            {
                comboBox4.Items.Insert(0, "select member");
                comboBox4.SelectedIndex = 0;
                comboBox4.Items.Add(dt.Rows[i].ItemArray[1]);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

填充组合框后,为组合框设置
ValueMember
DisplayMember
。确保组合框的属性设置为
DropDownStyle:DropDownList

for (i = 0; i <= dt.Rows.Count - 1; i++)
{
     comboBox4.Items.Insert(0, "select member");
     comboBox4.SelectedIndex = 0;
     comboBox4.Items.Add(dt.Rows[i].ItemArray[1]);
}

comboBox4.ValueMember = "MemberId";
comboBox4.DisplayMember = "MemberName";
(i=0;i)的

if(Convert.ToInt32(((KeyValuePair<string,string >)comboBox4.SelectedItem).Key) == 0)
{
     MessageBox.Show("wrong value");
}