Hello,
I am new at telerik-controls and trying to show some grid entrys with details (master-entry-shema).
My project includes an ObservableCollection. The items of the ObservableCollection are shown in the GridView. The ObservableCollection includes another ObservableCollection that should be shown in the HierarchyChildTemplate. But that don't works.
XAML:
code behind the window
Can you please help me?
I am new at telerik-controls and trying to show some grid entrys with details (master-entry-shema).
My project includes an ObservableCollection. The items of the ObservableCollection are shown in the GridView. The ObservableCollection includes another ObservableCollection that should be shown in the HierarchyChildTemplate. But that don't works.
XAML:
<Window x:Class="Grobplanung.Window1" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:telctrl="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" xmlns:telnav="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation" xmlns:telerikData="clr-namespace:Telerik.Windows.Data;assembly=Telerik.Windows.Data" Title="Window1" Height="768" Width="1024" Loaded="Window_Loaded"> <DockPanel LastChildFill="False"> <telnav:RadToolBar Height="30" Name="radToolBar1" DockPanel.Dock="Top"/> <telnav:RadMenu Name="radMenu1" DockPanel.Dock="Top"> <telerik:RadMenuItem Name="mnuDatei" Header="Datei"> <telerik:RadMenuItem Name="mnuBeenden" Header="Beenden"> </telerik:RadMenuItem> </telerik:RadMenuItem> <telerik:RadMenuItem Name="mnuBearbeiten" Header="Bearbeiten"/> <telerik:RadMenuItem Name="mnuExtras" Header="Extras"/> <telerik:RadMenuItem Name="mnuHilfe" Header="Hilfe"/> </telnav:RadMenu> <telerik:RadGridView Name="mainGV" DockPanel.Dock="Top" AutoGenerateColumns="False"> <telerik:RadGridView.ChildTableDefinitions> <telerik:GridViewTableDefinition> </telerik:GridViewTableDefinition> </telerik:RadGridView.ChildTableDefinitions> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding VorgangsNr}" Header="Auftrags-Nr." /> <telerik:GridViewDataColumn DataMemberBinding="{Binding KundenNr}" Header="Kunden-Nr." /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Kundenname}" Header="Kundenname" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding ArtikelNr}" Header="Artikel-Nr."/> </telerik:RadGridView.Columns> <telerik:RadGridView.HierarchyChildTemplate> <DataTemplate> <telerik:RadGridView ItemsSource="{Binding Details}" Name="childGrid" ShowGroupPanel="False"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Artikelbezeichnung}" Header="Artikelbezeichnung"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding Auftragsart}" Header="Auftragsart"/> </telerik:RadGridView.Columns> </telerik:RadGridView> </DataTemplate> </telerik:RadGridView.HierarchyChildTemplate> </telerik:RadGridView> </DockPanel></Window>
class Auftragsdaten
class Auftragsdaten : INotifyPropertyChanged
{
public Auftragsdaten()
{
Details = new ObservableCollection<Details>();
}
public ObservableCollection<Details> Details;
public void AddDetails(string pArtikelbezeichnung, string pAuftragsart)
{
Details.Add(new Details() { Artikelbezeichnung = pArtikelbezeichnung, Auftragsart = pAuftragsart });
}
...............
class Details
class Details
{
public string Artikelbezeichnung;
public string Auftragsart;
}
code behind the window
public partial class Window1 : Window{ private ObservableCollection<Auftragsdaten> _colDaten; public Window1() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { _colDaten = new ObservableCollection<Auftragsdaten>(); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 1, ArtikelNr = "47110", KundenNr = "1000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 2, ArtikelNr = "47110", KundenNr = "1000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 3, ArtikelNr = "47113", KundenNr = "2000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 4, ArtikelNr = "47114", KundenNr = "2000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 5, ArtikelNr = "47115", KundenNr = "3000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 7, ArtikelNr = "47115", KundenNr = "3000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 8, ArtikelNr = "47115", KundenNr = "3000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 9, ArtikelNr = "47115", KundenNr = "4000", Kundenname = "Test" }); _colDaten.Add(new Auftragsdaten() { VorgangsNr = 10, ArtikelNr = "47115", KundenNr = "4000", Kundenname = "Test" }); _colDaten[0].AddDetails("Staubsauger 3744", "Barverkauf"); _colDaten[0].AddDetails("Mixer 2231", "Barverkauf"); _colDaten[0].AddDetails("Toaster 112", "Barverkauf"); _colDaten[1].AddDetails("Staubsauger 3744", "Barverkauf"); _colDaten[1].AddDetails("Mixer 2231", "Barverkauf"); _colDaten[1].AddDetails("Toaster 112", "Barverkauf"); this.mainGV.ItemsSource = _colDaten; }}Can you please help me?