C# 从文本文件C加载dataGridView中的单元格值#
我正在使用StreamWriter在dataGridView中的所有现有单元格上写入所有值,该编写器工作正常。但是我的读者做得不是很好 这是我的编写器代码(没有问题): 这是我的阅读器代码:C# 从文本文件C加载dataGridView中的单元格值#,c#,datagridview,streamreader,streamwriter,C#,Datagridview,Streamreader,Streamwriter,我正在使用StreamWriter在dataGridView中的所有现有单元格上写入所有值,该编写器工作正常。但是我的读者做得不是很好 这是我的编写器代码(没有问题): 这是我的阅读器代码: StreamReader sr = new StreamReader(valuePath); foreach (DataGridViewRow row in dataGridView1.Rows) { foreach (DataGridViewCell
StreamReader sr = new StreamReader(valuePath);
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
cell.Value = sr.ReadLine();
}
}
sr.Close();
输出:
周一
1
周二
2
周三
3
这段代码将txt文件中的每一行读取到我的dataGridView中的“现有单元格”中,因此当应用程序打开时,只有一行。这就是我的读者工作不好的原因。有人能帮我解决这个问题吗?我建议您用以下格式编写文本文件: 第1单元、第2单元 第1单元、第2单元 第1单元、第2单元 为此,请将
编写器代码更改为:
StreamWriter writer = new StreamWriter(valuePath);
string line;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
line = "";
foreach (DataGridViewCell cell in row.Cells)
{
line += cell.Value.ToString();
}
writer.WriteLine(line);
}
writer.Close();
读取器
代码应相应更改为:
StreamReader sr = new StreamReader(valuePath);
string line;
string[] values;
int n=0;
while(!sr.EndOfStream)
{
line = sr.ReadLine();
values = line.Split(',');
for(int m=0; m<values.Length; m++)
{
dataGridView1[m, n].Value = values[m];
}
n++;
}
sr.Close();
StreamReader sr=新的StreamReader(valuePath);
弦线;
字符串[]值;
int n=0;
而(!sr.EndOfStream)
{
line=sr.ReadLine();
值=行分割(',');
对于(int m=0;m这就是我的读卡器工作不正常的原因
?更具体地说,是将文本文件读入单元格还是不读入单元格?如果可能,请提供当前输出和所需输出。你的意思是,如果在打开应用程序时定义了多行和多列,读卡器代码工作正常吗?是的,它正在将文本文件读入单元格。输出输入的文本文件是所需的,问题是我使用的阅读方法克里斯:你的上一句话没有添加任何提示!你当前的输出是什么(请编辑问题)好的!当应用程序打开时,只有一行!!你想要多少行?
StreamReader sr = new StreamReader(valuePath);
string line;
string[] values;
int n=0;
while(!sr.EndOfStream)
{
line = sr.ReadLine();
values = line.Split(',');
for(int m=0; m<values.Length; m++)
{
dataGridView1[m, n].Value = values[m];
}
n++;
}
sr.Close();