我正在编写一个程序,它将项目添加到DataGridView
并将输入保存到通过单击按钮(如果不存在)创建的 xml 文件中。这工作正常。但是如果我重新启动程序,它应该将每个项目加载到DataGridView
. 但我必须先添加一个新项目,然后显示所有其他项目。因此,如果 Form1 加载,项目将不会加载。我想我必须输入一些代码,Form1_Load()
但我不知道。我试图投入XElement.Load();
但Form1_Load()
没有成功。在这里你可以看到我的代码:
XElement xmlFile;
XElement xmlnode;
private void Form1_Load(object sender, EventArgs e)
{
xmlFile = XElement.Load(@"C:\Users\rs\Desktop\Save\save.xml");
xmlFile.Add(xmlnode);
}
private void btnSave_Click(object sender, EventArgs e)
{
if (!File.Exists(@"C:\Users\rs\Desktop\Save\save.xml"))
{
using (File.Create(@"C:\Users\rs\Desktop\Save\save.xml")) { }
}
xmlnode = new XElement("iToDo",
new XElement("Name", txtName.Text),
new XElement("Priority", comPrio.Text),
new XElement("StartDate", txtStart.Text),
new XElement("EndDate", txtEnd.Text),
new XElement("Comment", txtComment.Text)
);
try
{
xmlFile = XElement.Load(@"C:\Users\rs\Desktop\Save\save.xml");
xmlFile.Add(xmlnode);
}
catch (XmlException)
{
xmlFile = new XElement("ToDos", xmlnode);
}
xmlFile.Save(@"C:\Users\rs\Desktop\Save\save.xml");
DataSet flatDataSet = new DataSet();
flatDataSet.ReadXml(@"C:\Users\rs\Desktop\Save\save.xml");
DataTable table = flatDataSet.Tables[0];
dataGridToDo.DataSource = table;
}
有人有想法或可以给我一个提示吗?
提前致谢
干杯