Hallo liebe Leute,
zur Zeit arbeite ich an einem kleinen Projekt (Für euch sicher nix großes).
Bisher habe ich durch ErfinderDesRads etwas vermehrt Unterstützung erhalten (Siehe Thread:
SQLAdapter und DataTable bei Update/Insert neue ID)
Nun habe ich mein Projekt etwas umgebaut und soweit zufrieden. Zur Zeit hapert es aber an einem Darstellungsproblem. Erst mal ein zwei Bildchen
Übersicht der Arbeitskleidungen. Wenn ich eine Row anklicke, wird mir aus dem typisierten DataSet der Mitarbeiter aus der Fremdschlüsseltabelle angezeigt.
Das Problem erkennt man: Ich kann keinen InnerJoin darstellen bzw. das entsprechende Feld liegt ja in einer anderen Tabelle.
Anlegen eines neuen Datensatzes. Durch das DataSet erhalte ich direkt die Änderungen. An der Stelle sieht man bereits das anstelle des Typs (Hemd, Hose etc.) nur die ID angezeigt wird.
Um mir hier Mitarbeiter und Typen anzuzeigen, lade ich mir aus dem typisierten DataSet die Tabelle Mitarbeiter und Typ.
Hier die Beziehungsübersicht aus dem SQL-Server
Hier mal etwas Code:
DataGrid (XAML)
Spoiler anzeigen
Laden der DataSets mit der SQLPersistance von ErfinderDesRads
Code zum Anzeigen des u.s. Mitarbeiters (Hier auch wieder das Problem mit der JoinView)
Spoiler anzeigen
Anzeige des "Neuen Kleid" Dialogs. Hier wird das DataSet, die SQLPersistance Klasse zum speichern und (das war nur ein Test) das sender Object übergeben.
Übergeben werden diese Paramter mit ByRef als Referenz auf das bestehende Objekt (Ist das so richtig ausgedrückt?)
Nun wie gesagt, ich habe Probleme beim Anzeigen über Join Views etc.
Durch die referentielle Integrität kann ich Datensätze löschen die in der FS Tabelle ebenfalls entfernt wird.
Hoffe ihr könnt mir weiter helfen, tipps spenden
zur Zeit arbeite ich an einem kleinen Projekt (Für euch sicher nix großes).
Bisher habe ich durch ErfinderDesRads etwas vermehrt Unterstützung erhalten (Siehe Thread:
SQLAdapter und DataTable bei Update/Insert neue ID)
Nun habe ich mein Projekt etwas umgebaut und soweit zufrieden. Zur Zeit hapert es aber an einem Darstellungsproblem. Erst mal ein zwei Bildchen
Übersicht der Arbeitskleidungen. Wenn ich eine Row anklicke, wird mir aus dem typisierten DataSet der Mitarbeiter aus der Fremdschlüsseltabelle angezeigt.
Das Problem erkennt man: Ich kann keinen InnerJoin darstellen bzw. das entsprechende Feld liegt ja in einer anderen Tabelle.
Anlegen eines neuen Datensatzes. Durch das DataSet erhalte ich direkt die Änderungen. An der Stelle sieht man bereits das anstelle des Typs (Hemd, Hose etc.) nur die ID angezeigt wird.
Um mir hier Mitarbeiter und Typen anzuzeigen, lade ich mir aus dem typisierten DataSet die Tabelle Mitarbeiter und Typ.
Hier die Beziehungsübersicht aus dem SQL-Server
Hier mal etwas Code:
DataGrid (XAML)
XML-Quellcode
- <DataGrid Grid.Row="1" CanUserAddRows="False" CanUserDeleteRows="True" x:Name="ArbeitskleidungDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" ItemsSource="{Binding }" RowDetailsVisibilityMode="VisibleWhenSelected" ColumnWidth="AUto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
- <DataGrid.Columns>
- <DataGridTextColumn x:Name="IdColumn" Binding="{Binding kleidNr}" Header="Id" />
- <DataGridTextColumn x:Name="FarbeColumn" Binding="{Binding Farbe}" Header="Farbe"/>
- <DataGridTextColumn x:Name="SizeColumn" Binding="{Binding Size}" Header="Größe"/>
- <DataGridTextColumn x:Name="BemColumn" Binding="{Binding Bemerkung}" Header="Bemerkung"/>
- <DataGridTextColumn x:Name="TypColumn" Binding="{Binding Typ}" Header="Typ" />
- <DataGridComboBoxColumn x:Name="TypCMB" ></DataGridComboBoxColumn>
- <DataGridTemplateColumn>
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <Button CommandParameter="{Binding Path=kleidNr}" Content="X" Width="20" Height="20" Background="#FFFF0606" ></Button>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
Laden der DataSets mit der SQLPersistance von ErfinderDesRads
Code zum Anzeigen des u.s. Mitarbeiters (Hier auch wieder das Problem mit der JoinView)
VB.NET-Quellcode
- Private Sub ArbeitskleidungDataGrid_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ArbeitskleidungDataGrid.SelectionChanged
- For Each Item As DataRowView In ArbeitskleidungDataGrid.SelectedItems
- Dim kleidID = Item.Item(0).ToString()
- 'ids ermitteln: Item.Item(0).ToString()
- dv = New DataView(ds.Tables("mitarbeiter_kleidung"))
- dv.RowFilter = "Convert(kleid, 'System.String') LIKE '" & kleidID & "*'"
- ArbeitskleidungMitarbeitergrid.DataContext = dv
- Next
- End Sub
Anzeige des "Neuen Kleid" Dialogs. Hier wird das DataSet, die SQLPersistance Klasse zum speichern und (das war nur ein Test) das sender Object übergeben.
Übergeben werden diese Paramter mit ByRef als Referenz auf das bestehende Objekt (Ist das so richtig ausgedrückt?)
Nun wie gesagt, ich habe Probleme beim Anzeigen über Join Views etc.
Durch die referentielle Integrität kann ich Datensätze löschen die in der FS Tabelle ebenfalls entfernt wird.
Hoffe ihr könnt mir weiter helfen, tipps spenden