我有这段代码
private void submitButton_Click(object sender, EventArgs e)
{
XDocument doc = XDocument.Load("order.xml");
XElement root = new XElement("MenuInfo");
foreach(DataGridViewRow dr in dataGridView.Rows)
{
if(dr.Selected)
{
root.Add(new XElement("Meal", dr.Cells["Food"].Value.ToString()));
root.Add(new XElement("SeatID", _seat));
root.Add(new XElement("TableID", buttonTable1.Text));
root.Add(new XElement("Price", dr.Cells["Price"].Value.ToString()));
doc.Element("Menu").Add(root);
doc.Save("order.xml");
}
}
MessageBox.Show("The order has been placed.");
Main nf = new Main();
nf.ShowDialog();
this.Close();
}
它曾经工作,我将使用以下元素和值创建一个order.xml文件,但现在没有任何反应。它仍然显示消息框,说明已下订单,但是当我查看xml文件时,没有添加任何内容。任何人都可以向我解释为什么会这样吗?
答案 0 :(得分:0)
正如其他人所建议的那样,数据网格可能是空的。我会为submitButton_Click函数添加验证
if (dataGridView.Rows.Count == 0)
{
"throw some error"
}
如果你过去了,那么我也会检查XDocument以确保有内容。包装代码以显示另一个if语句内的对话框。像这样的东西
if(doc.ToString().Length > 0)
{
"Your dialog code here"
}