如何使用XML和C#在DataGridView中保存隐藏和添加的列

时间:2015-02-05 23:52:24

标签: c# xml winforms datagridview

我的应用正在使用带有XML文件的dataGridView来保存每列中单元格的样式和值。我添加了两个设置为Visible = false的额外列,当我点击"添加列",它没有真正添加一列时,它只是将一个额外的列设置为{ {1}},所以我希望我的应用程序保存该设置(列的可见性),所以当我重新打开应用程序时,我留下的隐藏列仍然不可见。如果我不清楚,请告诉我,我会尝试澄清它。

编辑:我已经解决了每个列的保存问题,在之前的一个问题中,我问过如何在dataGridView中保存单元格的backColor,我得到了一个使用XML的答案,但是,我需要将单元格BackColor保存为存储在TXT文件中,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我们假设您保存了一个名为"setting.txt"的文本文件,假设您有5列,其可见性为" true, true, false, false, true",所以你的文本文件看起来像:

<强>真

<强>真

<强>假

<强>假

<强>真

在您的Form1_Load方法中,您可以阅读它并相应地设置列,如下所示:

private void Form1_Load(object sender, EventArgs e)
{
   StreamReader sr = new StreamReader("setting.txt");
   string line;
   int n=0;
   while(!sr.EndOfStream)
   {
     line = sr.ReadLine();

     if(String.Equals(line, "true"))
     {
        dataGridView1.Columns[n++].Visible = true;
     }
     else if(String.Equals(line, "false"))
     {
        dataGridView1.Columns[n++].Visible = false;
     }
   }

   sr.Close();
}

然后,在任何时候,当您更改可见性时,也将其保存在文本文件的相应行中(以编程方式),以便下次启动应用时,它会显示在最后的设置中