如何使用 XML 和 C# 在 DataGridView 中保存隐藏和添加的列
How to save Hidden and Added Columns in DataGridView with XML and C#
我的应用使用带有 XML 文件的 dataGridView 来保存每列中单元格的样式和值。我添加了两个设置为 Visible = false
的额外列,当我单击 "Add Column" 时,它并没有真正添加一列,它只是将其中一个额外列设置为 Visible = true
,所以我希望我的应用程序保存该设置(列的可见性),因此当我重新打开应用程序时,我留下的隐藏列仍然不可见。如果我不清楚,请告诉我,我会尽力澄清。
编辑: 我已经解决了每一列的保存问题,在之前的问题中我问过如何保存 dataGridView 中单元格的背景颜色,我得到了使用 XML, 但是,我需要将保存的单元格背景色保存在 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();
}
然后,在任何时候,当您更改可见性时,也将其保存在文本文件的相应行中(以编程方式),以便下次启动您的应用程序时,它会出现在最后的设置中
我的应用使用带有 XML 文件的 dataGridView 来保存每列中单元格的样式和值。我添加了两个设置为 Visible = false
的额外列,当我单击 "Add Column" 时,它并没有真正添加一列,它只是将其中一个额外列设置为 Visible = true
,所以我希望我的应用程序保存该设置(列的可见性),因此当我重新打开应用程序时,我留下的隐藏列仍然不可见。如果我不清楚,请告诉我,我会尽力澄清。
编辑: 我已经解决了每一列的保存问题,在之前的问题中我问过如何保存 dataGridView 中单元格的背景颜色,我得到了使用 XML, 但是,我需要将保存的单元格背景色保存在 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();
}
然后,在任何时候,当您更改可见性时,也将其保存在文本文件的相应行中(以编程方式),以便下次启动您的应用程序时,它会出现在最后的设置中