2017-08-08 27 views
0

我有一個文本文件是這樣的:顯示一個文本文件,在組合框中,編輯每行並保存回的只有變化的部分

0124456, 10000,2 
0124434, 10001,1 
0126234, 10002,2 

它有大約60-70行。我想將「0124456」,「0124434」和「0126234」添加到組合框項目中。我只能用richtextbox做到這一點。它顯示的每一行,直到「,」逐行,但當我保存它時,只有「0124456」,「0124434」和「0126234」逐行省去,並擺脫「10000,2」等。

我保存的代碼如下所示:

 SaveFileDialog svf = new SaveFileDialog(); 
     svf.Filter = "Text files (.csv)|*.csv"; 
     svf.Title = "Save file..."; 
     if (svf.ShowDialog() == DialogResult.OK) 
     { 
      StreamWriter sw = new StreamWriter(svf.FileName); 
      string[] lines = richTextBox1.Text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 
      foreach (var line in lines) 
      { 
       sw.Write(line, Environment.NewLine); 
      } 
      richTextBox1.Clear(); 
      sw.Close(); 
     } 
//and my open-read code is this: 
     OpenFileDialog ofd = new OpenFileDialog(); 
     ofd.Filter = "Text files (.csv)|*.csv"; 
     ofd.Title = "Open a file..."; 
     if (ofd.ShowDialog() == DialogResult.OK) 
     { 
      StreamReader sr = new StreamReader(ofd.FileName); 
      string currentLine; 
      while ((currentLine = sr.ReadLine()) != null) 
      { 
       if (currentLine == null) 
       { 
        break; 
       } 
       else 
       { 
        string[] adat = currentLine.Split(','); 
        richTextBox1.AppendText(adat[0] + Environment.NewLine); 
       } 
      } 
      sr.Close(); 
     } 

所以我的目的是要打開CSV文件,並添加第一個「字」,以組合框項目後,我編輯我救回來只是編輯的「字」。

提前致謝!

回答

0

你好你的問題是,在打開文件爲你呈現的富文本框中只有第一部分,這就是被保存回

richTextBox1.AppendText(adat[0] + Environment.NewLine); 

如果要保存所有的線,你必須向他們展示全部。

+0

如果我顯示richtextbox中的所有文本,我可以只添加第一個單詞到組合框項目?並將它們保存回richtextbox然後保存爲文本文件? – Tamas555

+0

我想了解一些東西,是豐富的文本框可見和用戶允許更改值如何下拉正在使用? ,是的,你可以使用adat顯示下拉值[0] –

+0

反正我解決了它。我在富文本框中顯示所有文本,並通過Split將文本添加到組合框的TextReader方法中。 – Tamas555

相關問題