使用逗号分隔文本文件中的内容填充组合框 - 基于另一个组合框的选择

时间:2015-03-23 08:43:31

标签: c# csv combobox

在c#程序中,我有两个组合框,一个具有固定值,返回值为01,02,03 ..

对于第二个组合框,我有一个逗号分隔的文件,其值如下: 01,sometext 01,sometext2 02,sometext3 04,sometext4

我想用commaseparated文件中的值填充我的第二个组合框,其中数字与combobox1选择的值匹配。

所以我需要阅读commaseparated csv文件,然后比较结果并将值添加到第二个组合框。

我已尝试使用下面的代码,但它会返回随机值,并返回数字,而不是textvalue。

combobox2.Items.Clear();

string combobox1_SelectedValue = combobox1.SelectedItem.ToString();
string sImport = Program.Properties.Settings.Default.sImport;
string[] lineOfContents = File.ReadAllLines(sImport);

foreach (var line in lineOfContents)
{
    string[] tokens = line.Split(',');
    foreach (string uLine in tokens)
    {
        if (uLine.ToString().Substring(0) == combobox1_SelectedValue)
        {
            combobox2.Items.Add(uLine[1]);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

如果您的文件是带逗号和空格的一行,则不需要行数组,但应首先按空格分割。

如果您的文件是一对“数字,文本”,您的foreach循环应如下所示:

  foreach (var line in lineOfContents)
  {
        string[] tokens = line.Split(',');
        if (tokens[0] == combobox1_SelectedValue)
        {
            comboBox2.Items.Add(tokens[1]);
        }   
   }