Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从文本文件C加载dataGridView中的单元格值#_C#_Datagridview_Streamreader_Streamwriter - Fatal编程技术网

C# 从文本文件C加载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

我正在使用StreamWriter在dataGridView中的所有现有单元格上写入所有值,该编写器工作正常。但是我的读者做得不是很好

这是我的编写器代码(没有问题):

这是我的阅读器代码:

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();