C#从组合框文本中拉出列

时间:2010-05-10 17:15:08

标签: c#

我有四个组合框和两个文件。如果列与组合框匹配,我需要将其写入文件,但必须附加第二个组合框。例如,

Combobox1:Apple |橙色
Combobox2:菠萝|梅

我选择了Apple Plum

我需要搜索一个文本文件,找到Apple或Plum的任何列:

橙色|梨|桃|芜菁|猴|苹果|葡萄|梅花 然后我需要将Apple | Plum列写成新的文本文件。任何帮助都会很棒!

更好的例子 Combobox1选择项目:Apple Combobox2选择项目:Plum

文字文件:
苹果|梨|梅花|橙
1个| 2个| 3个| 4个
215个| 3个| 45个| 98个
125个| 498个| 76个| 4个
4165 | 465 | 4 | 65

结果文件:
1个| 3个
215 | 45
125 | 76
4165 | 4

感谢您的建议,我不需要添加到组合框或阅读文件的帮助,只需要如何从具有多列的分隔文件创建文件。

2 个答案:

答案 0 :(得分:0)

您的答案涉及许多步骤,如果没有更多信息,我无法回答。但在genreal中

创建一个来自 在表单中添加组合框 填充组合框
在组合框上添加事件监听器到change事件     myCombo.Change + = new EventHandler(comboChanged)

添加代码以根据更改组合框的选定值进行搜索。

答案 1 :(得分:0)

快速&脏:

            string[] data = null;
            using (StreamReader sr = new StreamReader("data.txt"))
            {
                data = sr.ReadToEnd().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            }
            if (data != null && data.Length > 0)
            {
                int colIndex1 = -1;
                int colIndex2 = -1;
                string[] line = data[0].Split(new char[] { '|' });
                for (int i = 0; i < line.Length; i++)
                {
                    if (String.Compare(line[i], comboBox1.Text, true) == 0)
                    {
                        colIndex1 = i;
                    }
                    if (String.Compare(line[i], comboBox2.Text, true) == 0)
                    {
                        colIndex2 = i;
                    }
                }
                using (StreamWriter sw = new StreamWriter("output.txt"))
                {
                    sw.WriteLine(comboBox1.Text + "|" + comboBox2.Text);
                    for (int i = 1; i < data.Length; i++)
                    {
                        line = data[i].Split(new char[] { '|' });
                        sw.WriteLine(line[colIndex1] + "|" + line[colIndex2]);
                    }
                }
            }