witam, mógłby mi ktoś łopatologicznie wytłumaczyć jak odczytać i zapisać do pliku xml dane z komponentu dataGridView?? utworzyłem okno dialogowe ale mam problem z odczytaniem danych z tego komponentu i zapisem do xml. pozdrawiam
0
0
Może to ci pomoże w zapisie ;) http://pdf.helion.pl/vs21cn/vs21cn.pdf
0
Wrzuć to do DataTable. DataTable ma metode WriteXml, która załatwi sprawę za Ciebie.
0
zrobiłem w ten sposób ale podczas zapisu pliku do xml wywala wyjątek, o to kod:
private void toolStripMenuItem7_Click(object sender, EventArgs e)
{
saveFileDialog1.InitialDirectory = "C:";
saveFileDialog1.Title = "save xml file";
saveFileDialog1.FileName = "";
saveFileDialog1.Filter = "xml file|*.xml|all files|*.*";
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
BindingSource bs = new BindingSource();
bs.DataSource = dataGridView1.DataSource;
DataTable dt = (DataTable)(bs.DataSource);
dt.WriteXml(this.saveFileDialog1.FileName, XmlWriteMode.WriteSchema);
}
}
0
w tej linii pokazuje błąd: dt.WriteXml(this.saveFileDialog1.FileName, XmlWriteMode.WriteSchema);
0
brakowało try{}catch(){}, teraz już nie wyrzuca wyjątku podczas zapisu ale i też nie zapisuje pliku ;), proszę o pomoc.
private void toolStripMenuItem7_Click(object sender, EventArgs e)
{
saveFileDialog1.InitialDirectory = "C:";
saveFileDialog1.Title = "save xml file";
saveFileDialog1.FileName = "";
saveFileDialog1.Filter = "xml file|*.xml|all files|*.*";
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
BindingSource bs = new BindingSource();
bs.DataSource = dataGridView1.DataSource;
DataTable dt = (DataTable)(bs.DataSource);
try {
dt.WriteXml(this.saveFileDialog1.FileName, XmlWriteMode.WriteSchema);
dt.Dispose();
}catch(NullReferenceException ){}
}
}
0
Jak nie rozumiesz, co robi try-catch
, to go nie używaj. Wyjątek jest, tylko go ukrywasz. Po jasną cholerę?
Napisz, co to za wyjątek i co jest nullem.