DataTable - jak dodać element na końcu tabelki ?

0

Witam,

Tworze tabelke w taki sposób:
private void Test1Clicked(object sender, RoutedEventArgs e)
{
DataTable table1 = new DataTable("Osoba");
table1.Columns.Add(new DataColumn("Imie", typeof(string)));


        DataRow row = table1.NewRow();
        row["Imie"] = Imie.Text;

           …
           …
           …

table1.Rows.Add(row);
table1.WriteXml(@"c:\osoby.xml", XmlWriteMode.IgnoreSchema);

Problem w tym że zawsze tworzy się tylko jeden wiersz tabeli, czyli po wywołaniu metody zawsze do XML’a zapisuje mi się tylko jedna nowa osoba usuwając dane osoby poprzedniej.
Jak zrobić aby nowa osoba była dodawana na końcu pliku XML, czy można jakoś określić aby nowy wiersz ?

Pozdrawiam
D80K

0

Problem polega na tym, że za każdym razem, przy wywołaniu metody Test1Clicked, tworzysz nową tabelkę. Zrób tak:

// zmienna klasy
DataTable table1;

// konstruktor klasy
public Klasa() 
{
  table1 = new DataTable("Osoba");
  table1.Columns.Add(new DataColumn("Imie", typeof(string)));
}

public void Test1Clicked() 
{
  table1.Rows.Add(row);
  table1.WriteXml(@"c:\osoby.xml", XmlWriteMode.IgnoreSchema);
}

Tabelkę tworzysz wtedy tylko jeden raz, natomiast w metodzie Test1Clicked dodajesz do niej wiersz. Wszelkie wcześniej dodane wiersze "nie uciekają", są dalej przechowywane :)

0

dzieki za pomoc :)

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