Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: So 04.10.09 09:11 
Hallo zusammen,

ich stehe gerade auf der Leitung, daher schildere ich mein „Problemchen“ mal hier. Und zwar möchte ich DataRows von DataTableA nach DataTableB verschieben/kopieren. Jedoch muss die Row als neues Objekt an DataTableB übergeben werden, da die Daten aus DataTableA verworfen und neue Daten geladen werden. Bis her konnte ich nur Lösungen finden, die eine Referenz über geben. Klar, zur Not könnte ich die Values der Row kopieren und übergeben, aber das ist nicht elegant, es gibt sicher eine bessere Lösung!? Ich bin mir sicher das mal wieder einfach was übersehe……..

Über eure Anregungen und Tipps freue ich mich natürlich, wie immmer :zustimm:

_________________
Gruß
Christoph
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 04.10.09 10:45 
Ein Clone kommt hier seltsamerweise über ImportRow. Jürgen
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: So 04.10.09 10:54 
Hi,

das kann nicht sein, da die verworfenen Rows aus dataTableA dann nicht mehr in der Auflistung sind.

_________________
Gruß
Christoph
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: So 04.10.09 11:11 
ich habe das jetzt mal so versucht:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
foreach (DataRow dr in dataTableA.Rows)

    DataRow d = dataTableB.NewRow();
    d.ItemArray = (Object[])dr.ItemArray.Clone();
   
    dataTableB.ImportRow(d);                    
}


d wird aber nicht in dataTableA übernommen, eine Exception gibt es leider nicht. d enthält jedoch die Daten des ItemArrays von dr.

_________________
Gruß
Christoph
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: So 04.10.09 12:21 
Ich habs,

ich habe mit beim klonen der Tabellenstruktur dir Datensätze gelöscht. Und zwar mit:
ausblenden C#-Quelltext
1:
dataTableB = dataTableB.Colne()					


Sorry, das ich das nicht früher bemerkt habe! War mein Fehler..... :oops:

Es geht dann natürlich mit .ImportRow

Vielen Dank!

_________________
Gruß
Christoph