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?