0

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;
}

誰かがアイデアを思いつきましたか、それとも私にヒントを与えることができますか?

前もって感謝します

乾杯

4

1 に答える 1