HI
I m new to Telerik WPF, i m having a problem with child binding, can u plz help me out.
code:
note:
Is there any folder structure options available there in wpf,
screenshot attached is the mockup for Folder Structure.

Thanks
Zeno J S
I m new to Telerik WPF, i m having a problem with child binding, can u plz help me out.
code:
<telerik:RadGridView x:Name="AnalysisListGridView" Grid.Column="3" Grid.Row="2" Width="665" Height="405" RowLoaded="RadGridView1_RowLoaded" AutoGenerateColumns="False" IsReadOnly="True" VerticalAlignment="Center" HorizontalContentAlignment="Left" MinColumnWidth="20" GridLinesVisibility="Horizontal" RowHeight="33" CanUserSortColumns="True" CanUserResizeColumns="False" CanUserReorderColumns="False" CanUserFreezeColumns="False" FontSize="12" ScrollViewer.CanContentScroll="true" FontFamily="Arial" Padding="0,0,0,0" BorderBrush="#FFCBD7E3" Foreground="#FF707070" Background="#FFFFFFFF" HorizontalGridLinesBrush="#FFEEEEEE" SelectionUnit="FullRow" SelectionMode="Single" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" GroupPanelForeground="Black" AlternateRowBackground="#FFF4F4F4" telerik:Theming.Theme="Windows7" telerik:StyleManager.Theme="Windows7" BorderThickness="1" Cursor="Hand" LoadingRowDetails="AnalysisListGridView_LoadingRowDetails"> <telerik:RadGridView.HeaderRowStyle> <Style TargetType="telerik:GridViewHeaderRow"> <Setter Property="Background"> <Setter.Value> <LinearGradientBrush EndPoint="0.5,0" StartPoint="0.5,1"> <GradientStop Color="#FFcfd7db"/> <GradientStop Color="#FFFFFFFF" Offset="1"/> </LinearGradientBrush> </Setter.Value> </Setter> </Style> </telerik:RadGridView.HeaderRowStyle> <telerik:RadGridView.ChildTableDefinitions> <telerik:GridViewTableDefinition/> </telerik:RadGridView.ChildTableDefinitions> </telerik:RadGridView>private void GetHistoryInfo(){ this.AnalysisListGridView.ItemsSource = null; this.AnalysisListGridView.ItemsSource = ROISync.GetOfflineAnalysisHistory(App.LoggedInUser).ListROIAnalysis.OrderByDescending(an => an.AnalysisLastUpdatedDateTime);}void RadGridView1_RowLoaded(object sender, RowLoadedEventArgs e){ GridViewTableDefinition definition = new GridViewTableDefinition(); GridViewRow row = e.Row as GridViewRow; ROIAnalysisDataModel analysis = e.DataElement as ROIAnalysisDataModel; if (row != null && analysis != null) { row.IsExpandable = this.HasSubordinates(analysis); }}private bool HasSubordinates(ROIAnalysisDataModel analysis){ IEnumerable<ROIAnalysisDataModel> childDataSource = ROISync.GetOfflineAnalysisHistory(App.LoggedInUser).ListROIAnalysis.Where(a => a.ParentID != 0).OrderByDescending(an => an.AnalysisLastUpdatedDateTime); return (from Anlys in childDataSource where Anlys.ParentID == analysis.AnalysisID select Anlys).Any();}void AnalysisListGridView_LoadingRowDetails(object sender, GridViewRowDetailsEventArgs e){ GridViewTableDefinition definition = new GridViewTableDefinition(); GridViewDataControl dataControl = (GridViewDataControl)sender; if (dataControl.ParentRow != null && dataControl.ChildTableDefinitions.Count == 0) { int ParentID = Convert.ToInt32(((ROIDataModels.ROIAnalysisDataModel)(((Telerik.Windows.Controls.RadRowItem)(dataControl.ParentRow)).Item)).AnalysisID); foreach (ROIDataModels.ROIAnalysisDataModel folder in ROISync.GetOfflineAnalysisHistory(App.LoggedInUser).ListROIAnalysis) { if (folder.FileType.ToLower() == "folder" || folder.ParentID == ParentID) { definition.DataSource = null; definition.DataSource = ROISync.GetOfflineAnalysisHistory(App.LoggedInUser).ListROIAnalysis.Where(a => a.ParentID == folder.ParentID).OrderByDescending(an => an.AnalysisLastUpdatedDateTime); dataControl.ChildTableDefinitions.Add(definition); } } }}private void AnalysisListGridView_DataLoading(object sender, Telerik.Windows.Controls.GridView.GridViewDataLoadingEventArgs e){ GridViewDataControl dataControl = (GridViewDataControl)sender; if (dataControl.ParentRow != null) { dataControl.ShowGroupPanel = false; dataControl.AutoGenerateColumns = false; dataControl.CanUserFreezeColumns = false; dataControl.IsReadOnly = true; dataControl.SelectionMode = System.Windows.Controls.SelectionMode.Extended; dataControl.IsFilteringAllowed = false; dataControl.ShowInsertRow = false; dataControl.RowIndicatorVisibility = Visibility.Collapsed; dataControl.ChildTableDefinitions.Clear(); dataControl.Margin = new Thickness(0, 0, 0, 0); dataControl.EnableRowVirtualization = true; dataControl.MaxHeight = 100; ScrollViewer.SetVerticalScrollBarVisibility(dataControl, ScrollBarVisibility.Auto); int ParentID = Convert.ToInt32(((ROIDataModels.ROIAnalysisDataModel)(((Telerik.Windows.Controls.RadRowItem)(dataControl.ParentRow)).Item)).AnalysisID); GridViewTableDefinition definition = new GridViewTableDefinition(); definition.DataSource = null; definition.DataSource = ROISync.GetOfflineAnalysisHistory(App.LoggedInUser).ListROIAnalysis.Where(a => a.ParentID == ParentID).OrderByDescending(an => an.AnalysisLastUpdatedDateTime); //dataControl.ChildTableDefinitions.Clear(); dataControl.ChildTableDefinitions.Add(definition); }}note:
Is there any folder structure options available there in wpf,
screenshot attached is the mockup for Folder Structure.
Thanks
Zeno J S