Odczt xml do dataset

0

zapis wygląda tak

 XmlSerializer ser = new XmlSerializer(typeof(DataSet));
            TextWriter write = new StreamWriter("D:\\konfig\\konfig"+textBox1.Text+".xml");
            ser.Serialize(write, konfig.dataSet1);                      
            write.Close();
            this.Close();

odczyt

  string file = listView1.SelectedItems[0].Text;
            file = "D:\\konfig\\konfig" + file;
            XmlSerializer ser = new XmlSerializer(typeof(DataSet));
            TextReader read = new StreamReader(file);
            konfig.dataSet1 = (DataSet)ser.Deserialize(read);
            read.Close();
            konfig.dataGridView1.DataSource = konfig.dataTable1;
            konfig.dataGridView1.Refresh();

Zapis jest OK działa
Ale odczyt cos sie rypie

  • datagridview sie nie wypełnia
0

dataSet wczytales do konfig.dataSet1
co to konfig.dataTable1; i skad wypelnia sie danymi?
rzuca gdzies exception?
co to konfig?

0

konfig.dataSet1 to moj dataset zawiera 1 tabele mianowicie konfig.dataTable1

wszystko spięte z datagridview

dataGridView1.DataSource = dataTable1;
i wlasnie z tad wypełnia się danymi
konfig to Parent form sorka nie dopisalem
nie ma zadnego exception wyglada jakby dataset i datatable nie zmienila zawartosci po zczytaniu xmla

0

hmmm, obstawiam jednak ze DS sie wypelnia danymi tylko ta twoja table nie :D
co to konfig.dataTable1? pole czy wlasciwosc, jesli wlasciwosc to wklej jej getter
podobne pytanie o konfig.dataSet1 - jesli to wlasciwosc wklej setter

0

dataTable1 to dataset.tables

no wlasnie DS sie nie wypelnia zrobilem eksperyment

  string file = listView1.SelectedItems[0].Text;
            file = "D:\\konfig\\konfig" + file;
            XmlSerializer ser = new XmlSerializer(typeof(DataSet));
            TextReader read = new StreamReader(file);
         //konfig.dataSet1.Reset();
            konfig.dataSet1 = (DataSet)ser.Deserialize(read);
            read.Close();
            konfig.dataGridView1.DataSource = konfig.dataTable1;
            konfig.dataGridView1.Refresh();

MessageBox.Show(konfig.dataTable1.Rows[0].ItemArray[2].ToString());

jesli //konfig.dataSet1.Reset(); jest zanegowany to pokazuje mi wartość poprzednia z dgv (nie nowa z xmla) po odnegowaniu exeption ze brak wiersza 0

Dodam tylko ze chce wypelnic dgv danymi z xmla a po resecie ds dgv pustoszeje natomiast po zaladowaniu xml nie aktualizuja sie wartosci (pozostaja stare)

0

No i jeszcze cos dziwnego zauwazylem
jesli serializuje i deserializuje datatable to wszystko smiga
a dla dataset dupa

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