Hallo ihr lieben
Mit angehängtem (Bild) DataSet habe ich ein Bestellprogramm realisiert.
Die Funktionen um eine Bestellung, bzw. einen Bestand zu tätigen, sind soweit fertig.
Ich denke das DataSet erklärt sich von selbst. das einzige was wohl nicht klar ist sind die Columns Amount und TotalPrice in der DataTable Article.
Diese habe ich eingefügt, um eine neue Bestellung "temporär" speichern zu können.
Es muss also nicht beim Tätigen einer neuen Bestellung, eine OrderRow erzeugt werden, sondern erst wenn ich die Bestellung wirklich abschließe.
Hier werden nun die DtsSettings.Article.Amount und ...TotalPrice in die Tabelle OrderEntry eingetragen und am Ende alle DtsSettings.Article.Amount und TotalPrice gelöscht.
Ich glaube das macht es programmiertechnisch etwas schwieriger als wenn ich beim Klick auf "neue Bestellung" eine OrderRow erzeuge und sofort alle Mengen als OrderEntryRow speicher.
Aber das Verhalten meines Programmes auf diese Art Mengen speichern zu können, ohne eine OrderRow erzeugen zu müssen, gefällt mir besser.
Das jedoch bringt mich jetzt an einen Punkt an dem ich alleine nicht weiter komme.
Und zwar muss ich, wenn ich eine alte Bestellung lade, auf die zugehörige OrderEntry zuggreifen und hier die Mengen aus der OrderEntry an die entsprechenden Article weitergeben.
Also ich übergebe die ausgewählte OrderRow an meine Bestellform:
In der frmNewOrder prüfe ich dann, ob "OrderRow" (die über SetOrderrow bespeist wird) nicht nothing ist (also eine alte Order enthält).
Wenn nicht, muss eben zu der OrderRow die OrderEntrys gefunden werden und entsprechend die Article.Amount und Article.TotalPrice befüllt werden.
Wie stelle ich das am besten an?
*Topic verschoben*
Mit angehängtem (Bild) DataSet habe ich ein Bestellprogramm realisiert.
Die Funktionen um eine Bestellung, bzw. einen Bestand zu tätigen, sind soweit fertig.
Ich denke das DataSet erklärt sich von selbst. das einzige was wohl nicht klar ist sind die Columns Amount und TotalPrice in der DataTable Article.
Diese habe ich eingefügt, um eine neue Bestellung "temporär" speichern zu können.
Es muss also nicht beim Tätigen einer neuen Bestellung, eine OrderRow erzeugt werden, sondern erst wenn ich die Bestellung wirklich abschließe.
Hier werden nun die DtsSettings.Article.Amount und ...TotalPrice in die Tabelle OrderEntry eingetragen und am Ende alle DtsSettings.Article.Amount und TotalPrice gelöscht.
Ich glaube das macht es programmiertechnisch etwas schwieriger als wenn ich beim Klick auf "neue Bestellung" eine OrderRow erzeuge und sofort alle Mengen als OrderEntryRow speicher.
Aber das Verhalten meines Programmes auf diese Art Mengen speichern zu können, ohne eine OrderRow erzeugen zu müssen, gefällt mir besser.
Das jedoch bringt mich jetzt an einen Punkt an dem ich alleine nicht weiter komme.
Und zwar muss ich, wenn ich eine alte Bestellung lade, auf die zugehörige OrderEntry zuggreifen und hier die Mengen aus der OrderEntry an die entsprechenden Article weitergeben.
Also ich übergebe die ausgewählte OrderRow an meine Bestellform:
VB.NET-Quellcode
- Private Sub OrderDataGridView_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles OrderDataGridView.CellDoubleClick
- Dim Orderrow = DirectCast(DirectCast(OrderBindingSource.Current, DataRowView).Row, DtsSettings.OrderRow)
- 'Bestellform anzeigen
- Dim newOrder As New frmNewOrder
- With newOrder
- .DtsSettings = Me.DtsSettings
- .ArticleBindingSource.DataSource = Me.DtsSettings
- .OrderBindingSource.DataSource = Me.DtsSettings
- .CategoryBindingSource.DataSource = Me.DtsSettings
- .StocktakingBindingSource.DataSource = Me.DtsSettings
- .SettingsBindingSource.DataSource = Me.DtsSettings
- .SetIsOrder = True
- .SetOrderrow = Orderrow
- .Show(Me)
- End With
- End Sub
In der frmNewOrder prüfe ich dann, ob "OrderRow" (die über SetOrderrow bespeist wird) nicht nothing ist (also eine alte Order enthält).
Wenn nicht, muss eben zu der OrderRow die OrderEntrys gefunden werden und entsprechend die Article.Amount und Article.TotalPrice befüllt werden.
Wie stelle ich das am besten an?
*Topic verschoben*
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „DerSmurf“ ()