Я пытался прочитать xml и распечатать его в datagrid, а затем снова при нажатии сохранить записать его обратно в тот же файл, чтобы, если я открою его через некоторое время, я мог получить новые файлы. Итак, вот что я сделал:
DataSet ds;
private void Form2_Load(object sender, EventArgs e)
{
cmd = new SqlCommand("getCustomers", conn);
cmd.CommandType = CommandType.StoredProcedure;
da = new SqlDataAdapter(cmd);
ds = new DataSet();
//da.Fill(ds, "Productslist");
ds.ReadXml(@"C:\Users\Nishanth\documents\visual studio
2010\Projects\Ex1\Ex2\ShoppingCart1.ds");
dataGridView1.DataSource = ds.Tables[0];
}
Итак, здесь я читаю из xml и назначаю ему сетку. В следующих нескольких строках я пишу событие, когда нажимаю кнопку «Сохранить» в родительской форме mdi и вызываю метод writeX дочерней формы.
public void writeX()
{
MessageBox.Show("I'm in writeX()");
ds.WriteXml(@"C:\Users\Nishanth\documents\visual studio
2010\Projects\Ex1\Ex2\ShoppingCart1.ds");
}
здесь, на шаге WriteXml, я получаю сообщение об ошибке
Null Reference Exception : Object reference not set to an instance of an object.
Код родительской формы
private void customer_clicked(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.MdiParent = this;
f2.MaximizeBox = true;
f2.Show();
}
private void products_clicked(object sender, EventArgs e)
{
Form1 f = new Form1();
f.MdiParent = this;
f.MaximizeBox = true;
f.Show();
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.writeX();
}
Итак, пожалуйста, дайте мне знать, какую ошибку я совершил?