我正在编写一个简短的程序来显示我所有的待办事项。我有 2 个标签。1 个选项卡用于创建新的待办事项,另一个选项卡用于向我显示我选择的每个待办事项的详细信息。所以我必须将创建的待办事项保存在一个 xml 文件中。为此,我正在使用 DataTable 和 DataSet,它工作正常。这是我的代码:
private void btn_Save_Click(object sender, EventArgs e)
{
DataSet dataset = new DataSet();
if (File.Exists(@"C:\Users\rs\Desktop\Test\save.xml"))
{
dataset.ReadXml(@"C:\Users\rs\Desktop\Test\save.xml");
dataset.Tables[0].Rows.Add(txt_Name.Text, combox_Priority.Text, txt_Beginn.Text, txt_EndSoll.Text, txt_EndIst.Text, txt_Bemerkungen.Text);
dataset.WriteXml(@"C:\Users\rs\Desktop\Test\save.xml");
}
else
{
DataTable datatable = new DataTable();
datatable.TableName = "SaveInput";
DataColumn dc1 = new DataColumn("Name");
DataColumn dc2 = new DataColumn("Priority");
DataColumn dc3 = new DataColumn("StartDate");
DataColumn dc4 = new DataColumn("EndDateSoll");
DataColumn dc5 = new DataColumn("EndDateIst");
DataColumn dc6 = new DataColumn("Comment");
datatable.Columns.Add(dc1);
datatable.Columns.Add(dc2);
datatable.Columns.Add(dc3);
datatable.Columns.Add(dc4);
datatable.Columns.Add(dc5);
datatable.Columns.Add(dc6);
datatable.Rows.Add(txt_Name.Text, combox_Priority.Text, txt_Beginn.Text, txt_EndSoll.Text, txt_EndIst.Text, txt_Bemerkungen.Text);
DataSet dataset2 = new DataSet();
dataset2.Tables.Add(datatable);
dataset2.DataSetName = "iToDo";
dataset2.WriteXml(@"C:\Users\rs\Desktop\Test\save.xml");
}
XmlTextReader xmlreader = new XmlTextReader(@"C:\Users\rs\Desktop\Test\save.xml");
XmlNodeType nodetype;
while (xmlreader.Read())
{
nodetype = xmlreader.NodeType;
if (nodetype == XmlNodeType.Element)
{
if (xmlreader.Name == "Name")
{
xmlreader.Read();
combox_Name2.Items.Add(xmlreader.Value);
}
else if (xmlreader.Name == "Priority")
{
xmlreader.Read();
}
else if (xmlreader.Name == "StartDate")
{
xmlreader.Read();
}
else if (xmlreader.Name == "EndDateSoll")
{
xmlreader.Read();
}
else if (xmlreader.Name == "EndDateIst")
{
xmlreader.Read();
}
else if (xmlreader.Name == "Comment")
{
xmlreader.Read();
}
}
}
xmlreader.Close();
}
我现在的问题是:我希望每次选择我创建的“待办事项”时,它都应该向我显示正确的详细信息。所以我和SelectedIndexChanged
. 我也用过
if (combox_Name2.SelectedIndex > -1)
{
}
但我认为我没有正确编码,因为细节没有显示。有人可以给我一个提示吗?我整个下午都在编辑我的代码,但对于初学者来说,如果你不知道哪里出错了,那真的很难。:)
干杯