在csv文本文件中添加2个comboBox

本文关键字:添加 2个 comboBox 文件 csv 文本 | 更新日期: 2023-09-27 18:11:24

我接近这个,但它仍然失败。只是多次添加combobox1项然后更改。为cbo1的每个条目正确添加了Combobox2。还在MyFile.txt的行前添加分隔符我加载这个分裂没有问题,回去是麻烦我就像新的真正的新的c#。

StreamWriter OutFile = new StreamWriter("MyFile.txt",false);
foreach(object L in comboBox1.Items)
foreach(object M in comboBox2.Items)
{
    string lineoftext1 = (L.ToString());
    string lineoftext2 = (",");
    string lineoftext3 = (M.ToString());
    string joinedText;
    joinedText = String.Join(lineoftext1, lineoftext2, lineoftext3);
    //MessageBox.Show(joinedText);
    OutFile.WriteLine(joinedText);
}
OutFile.Close();

在csv文本文件中添加2个comboBox

哎呀,我看到问题了,这是你处理字符串的方式,你不使用字符串。以这种方式连接,您可以像这样显式地连接它们:

joinedText = lineoftext1 + lineoftext2 + lineoftext3;

或者你需要创建一些join方法可以接受的东西,我会使用一个列表,所以foreach循环的内部看起来像这样

List<string> mystrings = new List<string>();
mystrings.add(L.ToString());
mystrings.add(M.ToString());
joinedText = String.Join(",", mystrings);

也可以保持原样,但是改变

周围的一些值
joinedText = String.Join(lineoftext2, lineoftext1, lineoftext3);

传递给String的第一个参数。Join是分隔符。你在传递文本。

如果这没有帮助,那么我希望看到你的预期输出,正如我在上面的评论中提到的。

编辑:如果你想要一个1-2-3 -2的风格,试试这个

int i = 0;
foreach (object M in comboBox1.Items)
        {
            List<string> mystrings = new List<string>();
            mystrings.Add(comboBox2.Items[i].ToString());
            mystrings.Add(M.ToString());
            OutFile.WriteLine(String.Join(",", mystrings));
            i++;
        }

请注意,如果每个组合框中有不同数量的项目,则会出现错误。(你会得到一个外部数组边界错误)

我不确定,我认为在你的combobox1中,相同的项目被添加当post back完成时,所以它重复回到combobox1,即使在combobox2中发生任何变化。如果这是你的问题,你可以通过在里面添加代码来解决这个问题,if (!IsPostBack),像这样,

 protected void Page_Load(object sender, EventArgs e)
 {
    if (!IsPostBack)
    {
      //write you code here 
    }
 }

Nikerym你明白了,我只是在下面添加了combobox1原文是129行由于M8

        StreamWriter OutFile = new StreamWriter("MyFile.txt", false);
        int i = 0;
        foreach (object M in comboBox1.Items)
        {
            List<string> mystrings = new List<string>();
            mystrings.Add(comboBox1.Items[i].ToString());
            mystrings.Add(comboBox2.Items[i].ToString());

            OutFile.WriteLine(String.Join(",", mystrings));
            i++;
        }
        OutFile.Close();