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



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

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

假设您保存了一个名为"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();
}

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

最新更新