首页 > 解决方案 > 与归档连接时DatagridView显示错误

问题描述

我正在使用的 GUI 问题发生在filing它惊人地保存数据并且在DataGridView此处检索记录时是我正在尝试的代码,但它也显示了Last Value列和1st value下一列,例如文件中的信息和文件中的数据如下:为什么总是相同的数据?

3519,laiba,99

3519,maheen,89

这是我的代码:

 private void btnsave_Click(object sender, EventArgs e)
        {
            FileStream f = new FileStream("D://abc.txt", FileMode.Append, FileAccess.Write);
            StreamWriter sw = new StreamWriter(f);
            sw.Write(txtregno.Text+","+txtname.Text+","+txtmarks.Text+";");
            MessageBox.Show("Saved Successfully");
            sw.Close();
        }

        private void btnshow_Click(object sender, EventArgs e)
        {
            FileStream f = new FileStream("D://abc.txt", FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(f);
            string data = sr.ReadToEnd();
            string[] lineWiseRecord = data.Split(';');
            foreach (string item in lineWiseRecord)
            {
                string[] colWiseRecord = item.Split(','); 
                    dataGridView1.Rows.Add(colWiseRecord[0], colWiseRecord[1], colWiseRecord[2] );
            }
            f.Close();
            sr.Close();
        }

标签: c#datagridviewread-write

解决方案


您的代码将引发错误并且无法运行。为datagridview指定列数,然后通过foreach循环将数据加载到datagirdview中,这样就可以看到txt文档中的所有数据了。这是我的代码,您可以尝试以下代码来替换它。

private void btnsave_Click(object sender, EventArgs e)
        {
            FileStream f = new FileStream("D://abc.txt", FileMode.Append, FileAccess.Write);
            StreamWriter sw = new StreamWriter(f);
            sw.Write(txtregno.Text + "," + txtname.Text + "," + txtmarks.Text + ";");
            MessageBox.Show("Saved Successfully");
            sw.Close();
        }

        

        private void btnshow_Click_1(object sender, EventArgs e)
        {
            FileStream f = new FileStream("D://abc.txt", FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(f);
            string data = sr.ReadToEnd();
            string[] lineWiseRecord = data.Split(';');
            dataGridView1.ColumnCount = 3;
            dataGridView1.Columns[0].Name = "regno";
            dataGridView1.Columns[1].Name = "Name";
            dataGridView1.Columns[2].Name = "Mark%";

            foreach (string item in lineWiseRecord)
            {
                string[] colWiseRecord = item.Split(',');
                dataGridView1.Rows.Add(colWiseRecord);
            }
            f.Close();
            sr.Close();
        }

结果:

在此处输入图像描述


推荐阅读