Shapour - Mo 22.06.09 15:56
Titel: Eine Zeile in DataGrid einfügen, die mit einer DB verrubunde
Hallo Forum,
ich habe ein controll, die von Datagrid abgeleitet, und mit einer Tabelle (Customer) verbunden ist.
Die Tabelle Customer ist meit einer weiteren Tabelle "Orders" und diese weiter mit der einzelnen orders verbunden ist.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| public class DataList : System.Windows.Forms.DataGrid, IDataNavigator, IAcceptFocus { ...
public void FillLastLine(object LastCust) {
}
} |
Nachdem ich die Datenbank geöffnet habe, fülle ich DataGrid mit Einträgen der DB.
in der Letzten Zeile möchte ich einen weiteren Eintrag (Zeile) hinzufügen, ohne diese Zeile in der Datenbank einzufügen.
wie kann ich es machen.
Danach muss ich die zwei anderen Tabellen mit dieser Zeile verbinden.
Danke für eure Antworten
Shapour
JüTho - Mo 22.06.09 16:43
Hallo und :welcome:
Shapour hat folgendes geschrieben : |
in der Letzten Zeile möchte ich einen weiteren Eintrag (Zeile) hinzufügen, ohne diese Zeile in der Datenbank einzufügen.
wie kann ich es machen. |
In der Annahme, dass du mit DataSet und DataTable arbeitest (anders würde DataGrid auch wenig Sinn machen): Füge eine neue Zeile in die dazugehörige DataTable ein mit
DataTable.NewRow und
Rows.Add und erkläre sie mit
DataRow.AcceptChanges für erledigt; dann wird sie bei späterem DataAdapter.Update übergangen.
Um Missverständnisse zu vermeiden: AcceptChanges ist entgegen dem üblichen Sprachgebrauch
keine Bestätigung des Anwenders an das Programm, dass die Änderung
gültig ist, sondern es ist die
Anweisung des Programmierers, dass die Änderung
erledigt ist und bei späterer Übergabe an die Datenbank nicht mehr beachtet werden soll/muss.
Gruß Jürgen
/Edit
Woher kommen die Interfaces IDataNavigator, IAcceptFocus? Die haben mit dem Problem natürlich nichts zu tun, aber es würde mich interessieren.