在组合框中显示文本文件的每一行,编辑并仅保存更改的部分
Show a text file's every line in combobox,edit and save back only the changed part
我有一个这样的文本文件:
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 文件并将第一个 "words" 添加到组合框项目,在我编辑它们之后我只保存编辑的 "word".
提前致谢!
您好,您的问题出在打开文件时,因为您在富文本框中只显示了第一部分,而这就是被保存回来的部分
richTextBox1.AppendText(adat[0] + Environment.NewLine);
如果要保存所有行,则必须全部显示。
我有一个这样的文本文件:
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 文件并将第一个 "words" 添加到组合框项目,在我编辑它们之后我只保存编辑的 "word".
提前致谢!
您好,您的问题出在打开文件时,因为您在富文本框中只显示了第一部分,而这就是被保存回来的部分
richTextBox1.AppendText(adat[0] + Environment.NewLine);
如果要保存所有行,则必须全部显示。