我有个txt的文本文件里面有下面几行:
 aa-012
 aa-013
 aa-014
 bb-015 
 cc-016
 abc-016然后界面上有两个下拉列表.我想实现将aa,bb,cc,abc填充到第一个下拉列表.而且3个aa还只能出现一次.然后选择aa的时候012,013,014自动的出现在第二个下拉列表中..
选择bb的时候015自动的填充第二个下拉列表,
选择cc的时候016自动的填充第二个下拉列表,
选择abc的时候016自动的填充第二个下拉列表,
这个如何实现啊..

解决方案 »

  1.   

    你将文档加载了,然后放进一个List里好了。
    你不应该放在一个文本里,你应该放在一个数据库或者XML文档里。
      

  2.   


    //放在你要加载combobox1数据的事件里或Form_load事件里
    string path = @"e:\test.txt";
                 if (File.Exists(path))
                 {
                     string[] strs = File.ReadAllLines(path);
                     var querys = from s1 in strs
                                  let s = s1.Split('-')
                                  select s[0];
                     IEnumerable<string> query = querys.Distinct();
                     foreach (var str in query)
                     {
                         comboBox1.Items.Add(str.ToString());                 }
                 }
    //放在comboBox1_SelectedIndexChanged的事件里             string path = @"e:\test.txt";            if (File.Exists(path))
                {
                    string[] strs = File.ReadAllLines(path);                var query1 = from str1 in strs
                                 let s1 = str1.Split('-')
                                 where s1[0] == comboBox1.SelectedItem.ToString()
                                 select s1[1];
                    comboBox2.Items.Clear();
                    foreach (var str in query1)
                    {
                        comboBox2.Items.Add(str.ToString());
                    }
                }
           
      

  3.   

    我还是喜欢都解析好了,放在Dictionary<string, List<string>>中。
      

  4.   

    2楼的朋友的代码测试是可以通过的.4楼的朋友说的dictionary类..不知道如何使用这个类.
    要学习下...不知道有没有相关的代码可以学习参考下..
      

  5.   

    就我2楼的你能完全理解么?不要贪多,你连最基本字符串操作都不会,能理解dictionary?从最最基本的东西学起吧。
    1.字串
    2.数据类型
    3.语法
      

  6.   

    貌似使用xml非常合理,
    读XML,然后放在一个容器里list,dictionary等等,然后校验合法性
    点击事件写代码,完毕!
      

  7.   

     aa-012&
     aa-013&
     aa-014&
     bb-015& 
     cc-016&
     abc-016
    加一个&符号,先把文本内容读出来,然后以&符号切隔放在一个数组里,string[] s=...
    取数据时,判断数组是否有重复