dataGridView Windows Forms export do xml

0

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1