Hallo,
Ich habe derzeit ein Problem ( wer hätte es gedacht ) über dies ich nun seit 3 tagen nicht hinweg komme, nur mit jeweils sehr kleinen schritten. Versuche einen Stundenplan nachzubauen und scheitere an den Punkt die Comboboxen mit der ItemSource zufüllen, sie kommen garnicht erst an, setze ich die Combobox außerhalb des DataGrids geht sie, wahrscheinlich ein "kleiner" Fehler den ich nicht sehe.</span> Des weiteren füllt sich die Tabelle ( eine ganze Zeile, schätze fehlt ein Binding ? nur wo/wie) mit dem Satz den ich ihn gebe, was eig garnicht gewollt ist - es sollte Tagesweise sein. ( Sollte das letzte zu schlecht geschildert sein : ein neues Objekt des "timestable"
s belagert die Zeile Montag bis Freitag, dabei sollte es nur in Montag sein. )
Das sind die Templates
<DataTemplate x:Key="DataGridTemplate_Row">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="15"/>
<RowDefinition Height="15"/>
<RowDefinition Height="15"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding Klasse}"></TextBlock>
<TextBlock Grid.Row="1" Text="{Binding Lehrer}"></TextBlock>
<TextBlock Grid.Row="2" Text="{Binding Fach}"></TextBlock>
<TextBlock Grid.Row="3" Text="{Binding Raum}"></TextBlock>
</Grid>
</DataTemplate>
<DataTemplate x:Key="DataGridTemplate_RowEdit">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<ComboBox Grid.Row="0" ItemsSource="{Binding vListKlasse}"/>
<ComboBox Grid.Row="1" ItemsSource="{Binding vListRaum}"/>
<ComboBox Grid.Row="2" ItemsSource="{Binding vListLehrer}"/>
</Grid>
</DataTemplate>
C# Teil:
oForTimetable.Add(new timetable
{
Lehrer = "Name",
Klasse = "Klasse",
Raum = "Raum",
Fach = "Fach",
vListKlasse = cfg_w.vClass,
vListRaum = cfg_w.vRoom,
vListLehrer = cfg_w.vTeacher
});
// die klasse dazu
public class timetable
{
public int Nr { get; set; }
public string Zeit { get; set; }
public string Lehrer { get; set; }
public string Klasse { get; set; }
public string Raum { get; set; }
public string Fach { get; set; }
public List<string> vListLehrer { get; set; }
public List<string> vListKlasse { get; set; }
public List<string> vListRaum { get; set; }
}
Edit : ein Problem Gelöst
Hallo,
Sorry, aber deine Frage ist ziemlich unklar.
Soweit ich das verstanden habe willst du ein DataGrid mit den Daten füllen.
Dazu musst du nicht die DataGrid-Row Templates erstellen.
Es reicht wenn du einfach die DataGrid Columns richtig definierst.
D.h. für deine Listen kannst du eine ComboBox Column verwenden
Schau dir mal ein Tutorial zum DataGrid an: WPF DataGrid Control
Grüße
Michael