Binding to Hierachial Child Template

5 posts, 1 answers
  1. Vinay
    Vinay avatar
    36 posts
    Member since:
    Mar 2010

    Posted 19 Sep 2011 Link to this post

    Hi,
    I am binding a Gridview with my collection Defnetion as shown below,
    Public Class SubscriptionLauncherElements
        Property Title As String
        Property URL As String
        Property Roles As String
        Property DateValue As String
        Property SubscriptionSubReports As List(Of String)
    End Class

    And this is how my gridview looks,
    <telerik:RadGridView x:Name="GrdData" IsFilteringAllowed="False"
                                 AutoGenerateColumns="False"
                                 MinHeight="300" MaxHeight="350" Width="Auto"
                                 FrozenColumnCount="{Binding Value, ElementName=RadSlider1, Mode=TwoWay,NotifyOnValidationError=True}"  BorderThickness="2" HorizontalAlignment="Stretch"
                                 CanUserReorderColumns="False" ShowGroupPanel="False" CanUserResizeColumns="False" CanUserDeleteRows="False"
                                 CanUserSelect="False" RowIndicatorVisibility="Collapsed" Background="Transparent" GridLinesVisibility="None"
                                 HeaderRowStyle="{StaticResource GridViewHeaderRowStyle1}" Style="{StaticResource RadGridViewStyleNew}" AlternateRowStyle="{StaticResource GridViewRowStyle1}"
                                 RowStyle="{StaticResource GridViewRowStyle1}" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden" IsReadOnly="True">
                    <telerik:RadGridView.Columns>                  
                        <telerik:GridViewDataColumn UniqueName="Title" Header="Mnemonic" IsGroupable="False" Background="Transparent" Width="300"/>
                        <telerik:GridViewDataColumn UniqueName="DateValue" Header="Last Run" IsGroupable="False" Background="Transparent"  Width="300"/>                   
                    </telerik:RadGridView.Columns>
                    <telerik:RadGridView.ChildTableDefinitions>
                        <telerik:GridViewTableDefinition />
                    </telerik:RadGridView.ChildTableDefinitions>
                     
                    <telerik:RadGridView.HierarchyChildTemplate>
                        <DataTemplate>
                            <telerik:RadGridView x:Name="GrdData" ItemsSource="{Binding SubscriptionSubReports}" ShowColumnHeaders="False">
                                <!--<telerik:RadGridView.Columns>
                                    <telerik:GridViewDataColumn UniqueName="SubscriptionSubReports" IsGroupable="False" Background="Transparent"/>                               
                                </telerik:RadGridView.Columns>-->
                            </telerik:RadGridView>                          
                        </DataTemplate>
                    </telerik:RadGridView.HierarchyChildTemplate>
                     
                </telerik:RadGridView>
    How can i bind the Property SubscriptionSubReports As List(Of String). To the child Gridview
  2. Maya
    Admin
    Maya avatar
    4062 posts

    Posted 19 Sep 2011 Link to this post

    Hello Vinay Uthappa,

    Please take a look at our online documentation and demos for a reference. I am sending you a sample project as well so that you may use it for further reference.
     

    Greetings,
    Maya
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

  3. Vinay
    Vinay avatar
    36 posts
    Member since:
    Mar 2010

    Posted 19 Sep 2011 Link to this post

    Hi Maya,
    Thanks for the Reply...
    I have tried as per the Documentation.
    Setting Property like  creates its own gridview as child element. But i want to customize the look of that child grid view.
    So opted to use Hirerchial child template.
    <telerikData:PropertyRelation ParentPropertyName="Orders" />
  4. Answer
    Maya
    Admin
    Maya avatar
    4062 posts

    Posted 19 Sep 2011 Link to this post

    Hello Vinay Uthappa,

    You may try to follow the idea illustrated in the sample project attached. Furthermore, you may take a look at this article as well.
     

    Greetings,
    Maya
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

  5. Vinay
    Vinay avatar
    36 posts
    Member since:
    Mar 2010

    Posted 20 Sep 2011 Link to this post

    Hi Maya,
    The approach you mentioned didnt work for me. Please find the code below and verify if you could help.
    Its an urgent requirment.
    <UserControl x:Class="Iatric.SAM.DashBoard.ReportsWithDateLauncher"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                 mc:Ignorable="d" xmlns:local="clr-namespace:Iatric.SAM.DashBoard"
                 xmlns:System_Windows_Controls_Primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls"
                 xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
        <UserControl.Resources>
            <SolidColorBrush x:Key="GridView_HeaderRowInnerBorder" Color="#FF6DCDFF"/>
            <telerik:Office_BlackTheme x:Key="Theme"/>
            <SolidColorBrush x:Key="GridView_HeaderInnerBorder" Color="#FF4B4B4B"/>
            <LinearGradientBrush x:Key="GridView_HeaderBackground" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF5B5B5B" Offset="1"/>
                <GradientStop Color="#FF868686"/>
                <GradientStop Color="#FF4F4F4F" Offset="0.42"/>
                <GradientStop Color="#FF0E0E0E" Offset="0.43"/>
            </LinearGradientBrush>
            <DataTemplate x:Key="GridViewHeaderIndentCellDataTemplate">
                <telerik:GridViewHeaderIndentCell telerik:StyleManager.Theme="{StaticResource Theme}"/>
            </DataTemplate>
            <telerik:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
            <LinearGradientBrush x:Key="GridView_HeaderRowBackground" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF87D6FF" Offset="1"/>
                <GradientStop Color="#FFD8F2FF"/>
                <GradientStop Color="#FF95DBFF" Offset="0.42"/>
                <GradientStop Color="#FF34B9FF" Offset="0.43"/>
            </LinearGradientBrush>
            <ControlTemplate x:Key="GridViewHeaderRowTemplate" TargetType="telerik:GridViewHeaderRow">
                <telerik:SelectiveScrollingGrid>
                    <telerik:SelectiveScrollingGrid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                    </telerik:SelectiveScrollingGrid.ColumnDefinitions>
                    <Border x:Name="PART_GridViewHeaderRowBorder" BorderBrush="#FF87D6FF" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="4" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                        <Border BorderBrush="{StaticResource GridView_HeaderRowInnerBorder}" BorderThickness="1" Background="{TemplateBinding Background}"/>
                    </Border>
                    <telerik:DataCellsPresenter x:Name="PART_DataCellsPresenter" Grid.Column="3" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                    <Border x:Name="PART_IndicatorPresenter" BorderBrush="#FF87D6FF" BorderThickness="0,0,1,1" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{TemplateBinding RowIndicatorVisibility}" Width="25">
                        <Border BorderBrush="{StaticResource GridView_HeaderRowInnerBorder}" BorderThickness="1" Background="{StaticResource GridView_HeaderRowBackground}"/>
                    </Border>
                    <telerik:IndentPresenter x:Name="PART_IndentPresenter" Grid.Column="1" ItemTemplate="{StaticResource GridViewHeaderIndentCellDataTemplate}" IndentLevel="{TemplateBinding IndentLevel}" MinHeight="{TemplateBinding MinHeight}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                    <Border x:Name="PART_HierarchyIndentPresenter" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,0,1,1" Grid.Column="2" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HasHierarchy, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}" Width="25">
                        <Border BorderBrush="{StaticResource GridView_HeaderInnerBorder}" BorderThickness="1" Background="{StaticResource GridView_HeaderBackground}"/>
                    </Border>
                </telerik:SelectiveScrollingGrid>
            </ControlTemplate>
            <SolidColorBrush x:Key="GridView_HeaderRowOuterBorder" Color="#FF848484"/>
     
            <Style x:Key="GridViewHeaderRowStyle1" TargetType="telerik:GridViewHeaderRow">
                <Setter Property="Template" Value="{StaticResource GridViewHeaderRowTemplate}"/>
                <Setter Property="Background" Value="{StaticResource GridView_HeaderRowBackground}"/>
                <Setter Property="MinHeight" Value="27"/>
                <Setter Property="BorderBrush" Value="{StaticResource GridView_HeaderRowOuterBorder}"/>
                <Setter Property="BorderThickness" Value="1,0,0,1"/>
                <Setter Property="VerticalContentAlignment" Value="Stretch"/>
                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                <Setter Property="Padding" Value="0"/>
            </Style>
            <SolidColorBrush x:Key="ControlOuterBorder" Color="#FF848484"/>
            <SolidColorBrush x:Key="ControlInnerBorder" Color="White"/>
            <SolidColorBrush x:Key="GridView_GroupRowIndicator" Color="Black"/>
            <ControlTemplate x:Key="GridViewGroupToggleButtonTemplate" TargetType="ToggleButton">
                <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
                    <ContentPresenter/>
                </Border>
            </ControlTemplate>
            <Style x:Key="GridViewGroupToggleButtonStyle" TargetType="ToggleButton">
                <Setter Property="Template" Value="{StaticResource GridViewGroupToggleButtonTemplate}"/>
                <Setter Property="HorizontalContentAlignment" Value="Left"/>
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="Padding" Value="9,0,0,0"/>
            </Style>
            <SolidColorBrush x:Key="GridView_RowIndicatorCellBackground" Color="#FFE4E4E4"/>
            <ControlTemplate x:Key="GridViewGroupRowTemplate" TargetType="telerik:GridViewGroupRow">
                <Grid x:Name="PART_GroupExpanderGrid">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition x:Name="PART_HeaderRow" MinHeight="{TemplateBinding MinHeight}"/>
                        <RowDefinition x:Name="ContentRow" Height="Auto"/>
                    </Grid.RowDefinitions>
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="ExpandStateGroup">
                            <VisualState x:Name="Expanded">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="Content">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BottomBorder">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconOuterBorder">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0,0,0,0"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconInnerBorder">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1,1,0,0"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton">
                                        <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="180"/>
                                    </DoubleAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Collapsed">
                                <Storyboard>
                                    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton">
                                        <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="0"/>
                                    </DoubleAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <Border x:Name="ToggleButtonBorder" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" Grid.Column="2" MinHeight="{TemplateBinding MinHeight}" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="25"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Border Grid.Column="2" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="{Binding ShowHeaderAggregates, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                                <telerik:AggregateResultsList HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" ItemsSource="{TemplateBinding AggregateResults}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                                    <telerik:AggregateResultsList.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <StackPanel Orientation="Horizontal"/>
                                        </ItemsPanelTemplate>
                                    </telerik:AggregateResultsList.ItemsPanel>
                                    <telerik:AggregateResultsList.ItemTemplate>
                                        <DataTemplate>
                                            <telerik:GridViewAggregateResultCell AggregateResult="{Binding}" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                                        </DataTemplate>
                                    </telerik:AggregateResultsList.ItemTemplate>
                                </telerik:AggregateResultsList>
                            </Border>
                            <Border x:Name="IconOuterBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Background="Transparent" HorizontalAlignment="Stretch" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                                <Border x:Name="IconInnerBorder" BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1,1,0,1">
                                    <Path x:Name="ExpanderButton" Grid.Column="0" Data="M0,0L1,0 2,0 2,0.99999991 3,0.99999991 3,2 4,2 4,0.99999991 5,0.99999991 5,0 5.9999999,0 7,0 7,0.99999991 5.9999999,0.99999991 5.9999999,2 5,2 5,3 4,3 4,4 3,4 3,3 2,3 2,2 1,2 1,0.99999991 0,0.99999991z" Fill="{StaticResource GridView_GroupRowIndicator}" HorizontalAlignment="Left" Height="5" Margin="{TemplateBinding Padding}" RenderTransformOrigin="0.5,0.5" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="7">
                                        <Path.RenderTransform>
                                            <RotateTransform/>
                                        </Path.RenderTransform>
                                    </Path>
                                </Border>
                            </Border>
                            <ToggleButton x:Name="HeaderButton" Background="{TemplateBinding Background}" Grid.ColumnSpan="3" Grid.Column="0" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Opacity="0" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical"/>
                            <ToggleButton BorderBrush="{x:Null}" BorderThickness="0" Background="Transparent" Grid.Column="1" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Padding="0,0,10,0" Style="{StaticResource GridViewGroupToggleButtonStyle}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                                <ContentPresenter ContentTemplate="{TemplateBinding GroupHeaderTemplate}" Content="{TemplateBinding GroupViewModel}" Grid.Column="1" Margin="0,0,10,0" VerticalAlignment="Center"/>
                            </ToggleButton>
                            <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.ColumnSpan="2" Grid.Column="1" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                                <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="0,1,1,1"/>
                            </Border>
                        </Grid>
                    </Border>
                    <Border x:Name="PART_IndicatorPresenter" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,1,1" Grid.Column="0" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{TemplateBinding RowIndicatorVisibility}" VerticalAlignment="Stretch" Width="25">
                        <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1" Background="{StaticResource GridView_RowIndicatorCellBackground}"/>
                    </Border>
                    <telerik:IndentPresenter Background="{TemplateBinding Background}" Grid.Column="1" IndentLevel="{TemplateBinding Level}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                    <Border x:Name="Content" Grid.ColumnSpan="5" Grid.Column="0" Grid.Row="1" Visibility="Collapsed">
                        <StackPanel>
                            <telerik:GridViewVirtualizingPanel x:Name="PART_GridViewVirtualizingPanel"/>
                            <telerik:GridViewGroupFooterRow x:Name="Footer" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                        </StackPanel>
                    </Border>
                    <Border x:Name="BottomBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.Column="2" Grid.Row="1" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="Collapsed" VerticalAlignment="Bottom"/>
                </Grid>
            </ControlTemplate>
            <DataTemplate x:Key="GroupHeaderTemplate">
                <ContentPresenter Content="{Binding Header}"/>
            </DataTemplate>
            <SolidColorBrush x:Key="GridView_GroupRowBackground" Color="#FFE4E4E4"/>
            <SolidColorBrush x:Key="GridView_GridLinesItemBorder" Color="#FFCBCBCB"/>
            <SolidColorBrush x:Key="ItemOuterBorder_Over" Color="#FFFFC92B"/>
            <SolidColorBrush x:Key="ItemInnerBorder_Over" Color="#7FFFFFFF"/>
            <LinearGradientBrush x:Key="ItemBackground_Over" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#7FFFFBA3" Offset="1"/>
                <GradientStop Color="#33FFFBDA" Offset="0"/>
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ItemOuterBorder_Selected" Color="#7FFFC92B"/>
            <SolidColorBrush x:Key="ItemInnerBorder_Selected" Color="#99FFFFFF"/>
            <LinearGradientBrush x:Key="ItemBackground_Selected" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#66FCE79F" Offset="1"/>
                <GradientStop Color="#7FFDD3A8"/>
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ItemOuterBorder_Invalid" Color="#FFCE7D7D"/>
            <LinearGradientBrush x:Key="ItemInnerBorder_Invalid" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFEBF4FD"/>
                <GradientStop Color="#FFDBEAFD" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="ItemBackground_Invalid" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFFCDCDC"/>
                <GradientStop Color="#FFFCC1C1" Offset="1"/>
            </LinearGradientBrush>
            <telerik:BooleanToOpacityConverter x:Key="BooleanToOpacityConverter"/>
            <telerik:GridLineWidthToThicknessConverter x:Key="GridLineWidthToThicknessConverter"/>
            <SolidColorBrush x:Key="GridView_HierarchyBackground" Color="#FFBBBBBB"/>
            <SolidColorBrush x:Key="GridView_NavigatorIndicatorBackground" Color="#FF848484"/>
            <SolidColorBrush x:Key="GridView_EditIndicatorBackground1" Color="#7F848484"/>
            <SolidColorBrush x:Key="GridView_EditIndicatorBackground2" Color="#FFCBCBCB"/>
            <SolidColorBrush x:Key="GridView_EditIndicatorBackground3" Color="#FF848484"/>
            <SolidColorBrush x:Key="GridView_EditIndicatorBackground4" Color="White"/>
            <LinearGradientBrush x:Key="GridView_ErrorIndicatorBackground1" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFFC9999" Offset="0"/>
                <GradientStop Color="#FFC26666" Offset="1"/>
            </LinearGradientBrush>
            <SolidColorBrush x:Key="GridView_ErrorIndicatorBackground2" Color="White"/>
            <LinearGradientBrush x:Key="GridView_ErrorIndicatorBackground3" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Red" Offset="0"/>
                <GradientStop Color="#FF990000" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="GridView_RowIndicatorCellBackground_Selected" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="White" Offset="0"/>
                <GradientStop Color="#FFE4E4E4" Offset="1"/>
            </LinearGradientBrush>
            <ControlTemplate x:Key="GridViewRowTemplate" TargetType="telerik:GridViewRow">
                <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="FocusStates">
                            <VisualState x:Name="Unfocused"/>
                            <VisualState x:Name="Focused">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="NavigatorIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="SelectionStates">
                            <VisualState x:Name="Unselected"/>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="CommonStates">
                            <VisualState x:Name="Normal"/>
                            <VisualState x:Name="MouseOver">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Over">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Selected">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Selected">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="NavigatorIndicatorBackground">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource GridView_RowIndicatorCellBackground_Selected}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="ValueStates">
                            <VisualState x:Name="Valid"/>
                            <VisualState x:Name="Invalid">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Invalid">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="ErrorIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EditIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="NavigatorIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="EditStates">
                            <VisualState x:Name="ReadOnlyMode"/>
                            <VisualState x:Name="EditMode">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EditIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="NavigatorIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <telerik:SelectiveScrollingGrid x:Name="grid">
                        <telerik:SelectiveScrollingGrid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </telerik:SelectiveScrollingGrid.ColumnDefinitions>
                        <telerik:SelectiveScrollingGrid.RowDefinitions>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                        </telerik:SelectiveScrollingGrid.RowDefinitions>
                        <Border x:Name="SelectionBackground" Grid.ColumnSpan="2" Grid.Column="2" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" Margin="{TemplateBinding Margin}" MinWidth="{Binding RenderWidth, RelativeSource={RelativeSource TemplatedParent}}" Padding="{TemplateBinding Padding}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                            <Border.BorderBrush>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FF939393" Offset="1"/>
                                    <GradientStop Color="#FFE7E7E7"/>
                                </LinearGradientBrush>
                            </Border.BorderBrush>
                            <Border.Background>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#26B5E2FF" Offset="1"/>
                                    <GradientStop Color="#0CB5E2FF"/>
                                </LinearGradientBrush>
                            </Border.Background>
                        </Border>
                        <Border x:Name="Background_Over" BorderBrush="{StaticResource ItemOuterBorder_Over}" BorderThickness="1" Grid.ColumnSpan="2" Grid.Column="2" CornerRadius="1" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" Margin="1,1,1,2" MinWidth="{Binding RenderWidth, RelativeSource={RelativeSource TemplatedParent}}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="Collapsed">
                            <Border BorderBrush="{StaticResource ItemInnerBorder_Over}" BorderThickness="1" Background="{StaticResource ItemBackground_Over}"/>
                        </Border>
                        <Border x:Name="Background_Selected" BorderBrush="{StaticResource ItemOuterBorder_Selected}" BorderThickness="1" Grid.ColumnSpan="2" Grid.Column="2" CornerRadius="1" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" Margin="1,1,1,2" MinWidth="{Binding RenderWidth, RelativeSource={RelativeSource TemplatedParent}}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="Collapsed">
                            <Border BorderBrush="{StaticResource ItemInnerBorder_Selected}" BorderThickness="1" Background="{StaticResource ItemBackground_Selected}"/>
                        </Border>
                        <Border x:Name="Background_Invalid" BorderBrush="{StaticResource ItemOuterBorder_Invalid}" BorderThickness="1" Grid.ColumnSpan="2" Grid.Column="2" CornerRadius="1" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" Margin="1,1,1,2" MinWidth="{Binding RenderWidth, RelativeSource={RelativeSource TemplatedParent}}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="Collapsed">
                            <Border BorderBrush="{StaticResource ItemInnerBorder_Invalid}" BorderThickness="1" Background="{StaticResource ItemBackground_Invalid}"/>
                        </Border>
                        <telerik:GridViewToggleButton x:Name="PART_HierarchyExpandButton" Grid.Column="2" IsHitTestVisible="{Binding IsExpandable, RelativeSource={RelativeSource TemplatedParent}}" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Opacity="{Binding IsExpandable, Converter={StaticResource BooleanToOpacityConverter}, RelativeSource={RelativeSource TemplatedParent}}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="{Binding HasHierarchy, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}" Width="25"/>
                        <Border Grid.Column="2" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HasHierarchy, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}"/>
                        <telerik:DataCellsPresenter x:Name="PART_DataCellsPresenter" Grid.Column="3" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                        <Border x:Name="PART_RowBorder" BorderBrush="{TemplateBinding HorizontalGridLinesBrush}" BorderThickness="{Binding HorizontalGridLinesWidth, ConverterParameter=Bottom, Converter={StaticResource GridLineWidthToThicknessConverter}, RelativeSource={RelativeSource TemplatedParent}}" Grid.ColumnSpan="4" Grid.Column="1" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" MinWidth="{Binding RenderWidth, RelativeSource={RelativeSource TemplatedParent}}" Grid.RowSpan="4" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" VerticalAlignment="Bottom"/>
                        <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,1" Background="{StaticResource GridView_HierarchyBackground}" Grid.ColumnSpan="2" Grid.Column="2" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" MaxWidth="30000" Padding="6" Grid.Row="2" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="{Binding IsExpanded, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}">
                            <ContentPresenter x:Name="PART_HierarchyChildPresenter" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True"/>
                        </Border>
                        <telerik:DetailsPresenter x:Name="PART_DetailsPresenter" Grid.ColumnSpan="2" Grid.Column="2" DetailsProvider="{TemplateBinding DetailsProvider}" HorizontalAlignment="{Binding RenderHorizontalAlignment, RelativeSource={RelativeSource TemplatedParent}}" MaxWidth="30000" Grid.Row="1" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                        <telerik:IndentPresenter x:Name="PART_IndentPresenter" Grid.Column="1" IndentLevel="{TemplateBinding IndentLevel}" Grid.RowSpan="4" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                        <Border x:Name="PART_IndicatorPresenter" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,1,1" Grid.Column="0" Grid.RowSpan="3" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{TemplateBinding RowIndicatorVisibility}" VerticalAlignment="Stretch" Width="25">
                            <Border x:Name="NavigatorIndicatorBackground" BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1" Background="{StaticResource GridView_RowIndicatorCellBackground}">
                                <Grid>
                                    <Grid x:Name="NavigatorIndicator" HorizontalAlignment="Center" Height="11" Visibility="Collapsed" VerticalAlignment="Center" Width="11">
                                        <Path Data="F1 M 32.0234,6.66669L 24.2923,0.0248413L 28.3697,0.0248413L 32,3.14362L 36.1492,6.70819L 32,10.2728L 28.4664,13.3085L 24.2923,13.3085L 32.0234,6.66669 Z " Fill="{StaticResource GridView_NavigatorIndicatorBackground}" HorizontalAlignment="Center" Height="8" Margin="0" Stretch="Fill" VerticalAlignment="Center" Width="8"/>
                                    </Grid>
                                    <Grid x:Name="EditIndicator" HorizontalAlignment="Center" Height="10" Visibility="Collapsed" VerticalAlignment="Center" Width="16">
                                        <Path Data="M14,9 L15,9 15,10 14,10 z M1,9 L2,9 2,10 1,10 z M15,8 L16,8 16,9 15,9 z M0,8 L1,8 1,9 0,9 z M15,1 L16,1 16,2 15,2 z M0,1 L1,1 1,2 0,2 z M14,0 L15,0 15,1 14,1 z M1,0 L2,0 2,1 1,1 z" Fill="{StaticResource GridView_EditIndicatorBackground1}" Stretch="Fill"/>
                                        <Path Data="M0.99999994,6.9999995 L2,6.9999995 3,6.9999995 4,6.9999995 5,6.9999995 6,6.9999995 7,6.9999995 8,6.9999995 9,6.9999995 10,6.9999995 11,6.9999995 12,6.9999995 13,6.9999995 13,7.9999995 12,7.9999995 11,7.9999995 10,7.9999995 9,7.9999995 8,7.9999995 7,7.9999995 6,7.9999995 5,7.9999995 4,7.9999995 3,7.9999995 2,7.9999995 0.99999994,7.9999995 z M13,0.99999994 L14,0.99999994 14,1.9999999 14,2.9999995 14,3.9999995 14,4.9999995 14,5.9999995 14,6.9999995 13,6.9999995 13,5.9999995 13,4.9999995 13,3.9999995 13,2.9999995 13,1.9999999 z M0,0.99999994 L0.99999994,0.99999994 0.99999994,1.9999999 0.99999994,2.9999995 0.99999994,3.9999995 0.99999994,4.9999995 0.99999994,5.9999995 0.99999994,6.9999995 0,6.9999995 0,5.9999995 0,4.9999995 0,3.9999995 0,2.9999995 0,1.9999999 z M11,0 L12,0 13,0 13,0.99999994 12,0.99999994 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 4,0.99999994 3,0.99999994 2,0.99999994 0.99999994,0.99999994 0.99999994,2.3841858E-07 2,2.3841858E-07 3,2.3841858E-07 4,2.3841858E-07 5,2.3841858E-07 6,2.3841858E-07 7,2.3841858E-07 8,2.3841858E-07 9,2.3841858E-07 10,2.3841858E-07 z" Fill="{StaticResource GridView_EditIndicatorBackground2}" Margin="1" Stretch="Fill"/>
                                        <Path Data="M2,9 L3,9 4,9 5,9 6,9 7,9 8,9 9,9 10,9 11,9 12,9 13,9 14,9 14,10 13,10 12,10 11,10 10,10 9,10 8,10 7,10 6,10 5,10 4,10 3,10 2,10 z M14,8 L15,8 15,9 14,9 z M1,8 L2,8 2,9 1,9 z M15,2 L16,2 16,3 16,4 16,5 16,6 16,7 16,8 15,8 15,7 15,6 15,5 15,4 15,3 z M3,2 L4,2 5,2 6,2 6,3 5,3 5,4 5,5 5,6 5,7 6,7 6,8 5,8 4,8 3,8 3,7 4,7 4,6 4,5 4,4 4,3 3,3 z M0,2 L1,2 1,3 1,4 1,5 1,6 1,7 1,8 0,8 0,7 0,6 0,5 0,4 0,3 z M14,1 L15,1 15,2 14,2 z M1,1 L2,1 2,2 1,2 z M2,0 L3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 14,1 13,1 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1 3,1 2,1 z" Fill="{StaticResource GridView_EditIndicatorBackground3}" Stretch="Fill"/>
                                        <Path Data="M4,0 L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 12,2 12,3 12,4 12,5.0000001 12,6 11,6 10,6 9,6 8,6 7,6 6,6 5,6 4,6 4,5.0000001 3,5.0000001 3,4 3,3 3,2 3,1 4,1 z M0,0 L1,0 1,1 2,1 2,2 2,3 2,4 2,5.0000001 1,5.0000001 1,6 0,6 0,5.0000001 0,4 0,3 0,2 0,1 z" Fill="{StaticResource GridView_EditIndicatorBackground4}" Margin="2" Stretch="Fill"/>
                                    </Grid>
                                    <Grid x:Name="ErrorIndicator" HorizontalAlignment="Center" Height="16" Visibility="Collapsed" VerticalAlignment="Center" Width="16">
                                        <Path Data="M3,12.999999 L4,12.999999 5,12.999999 6,12.999999 7,12.999999 8,12.999999 9,12.999999 10,12.999999 11,12.999999 11,13.999999 10,13.999999 9,13.999999 8,13.999999 7,13.999999 6,13.999999 5,13.999999 4,13.999999 3,13.999999 z M11,11.999999 L12,11.999999 12,12.999999 11,12.999999 z M2.0000001,11.999999 L3,11.999999 3,12.999999 2.0000001,12.999999 z M12,10.999999 L13,10.999999 13,11.999999 12,11.999999 z M1,10.999999 L2.0000001,10.999999 2.0000001,11.999999 1,11.999999 z M13,2.9999992 L14,2.9999992 14,3.9999992 14,4.9999992 14,5.9999992 14,6.9999992 14,7.9999992 14,8.9999992 14,9.9999992 14,10.999999 13,10.999999 13,9.9999992 13,8.9999992 13,7.9999992 13,6.9999992 13,5.9999992 13,4.9999992 13,3.9999992 z M0,2.9999992 L1,2.9999992 1,3.9999992 1,4.9999992 1,5.9999992 1,6.9999992 1,7.9999992 1,8.9999992 1,9.9999992 1,10.999999 0,10.999999 0,9.9999992 0,8.9999992 0,7.9999992 0,6.9999992 0,5.9999992 0,4.9999992 0,3.9999992 z M12,1.9999999 L13,1.9999999 13,2.9999992 12,2.9999992 z M1,1.9999999 L2.0000001,1.9999999 2.0000001,2.9999992 1,2.9999992 z M11,0.99999994 L12,0.99999994 12,1.9999999 11,1.9999999 z M2.0000001,0.99999994 L2.9999998,0.99999994 2.9999998,1.9999999 2.0000001,1.9999999 z M2.9999998,0 L3.9999998,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 3.9999998,0.99999994 2.9999998,0.99999994 z" Fill="{StaticResource GridView_ErrorIndicatorBackground1}" Margin="1" Stretch="Fill"/>
                                        <Path Data="M1.4901161E-07,8 L1.0000001,8 2.0000002,8 2.0000002,9 2.0000002,10 1.0000003,10 1.0000003,9 1.0000001,10 1.4901161E-07,10 1.4901161E-07,9 z M1.4901161E-07,0 L1.0000001,0 2.0000002,0 2.0000002,1 2.0000002,2 2.0000002,3 2.0000002,4.0000001 2.0000002,5 2.0000002,5.9999999 2.0000002,7 1.0000001,7 1.4901161E-07,7 1.4901161E-07,5.9999999 1.4901161E-07,5 1.4901161E-07,4.0000001 1.4901161E-07,3 1.4901161E-07,2 0,1 z" Fill="{StaticResource GridView_ErrorIndicatorBackground2}" Margin="7,3" Stretch="Fill"/>
                                        <Path Data="M4,15 L5,15 6,15 7,15 8,15 9,15 10,15 11,15 12,15 12,16 11,16 10,16 9,16 8,16 7,16 6,16 5,16 4,16 z M12,14 L13,14 13,15 12,15 z M3,14 L4,14 4,15 3,15 z M13,13 L14,13 14,14 13,14 z M2,13 L3,13 3,14 2,14 z M14,12 L15,12 15,13 14,13 z M1,12 L2,12 2,13 1,13 z M7,11 L7,12 7,13 8,13 9,13 9,12 9,11 8,11 z M15,4 L16,4 16,5 16,6 16,7 16,8 16,9 16,10 16,11 16,12 15,12 15,11 15,10 15,9 15,8 15,7 15,6 15,5 z M0,4 L1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11 1,12 0,12 0,11 0,10 0,9 0,8 0,7 0,6 0,5 z M14,3 L15,3 15,4 14,4 z M7,3 L7,4 7,5 7,6 7,7 7,8 7,9 7,10 8,10 9,10 9,9 9,8 9,7 9,6 9,5 9,4 9,3 8,3 z M1,3 L2,3 2,4 1,4 z M13,2 L14,2 14,3 13,3 z M4,2 L5,2 6,2 7,2 8,2 9,2 10,2 11,2 12,2 12,3 13,3 13,4 14,4 14,5 14,6 14,7 14,8 14,9 14,10 14,11 14,12 13,12 13,13 12,13 12,14 11,14 10,14 9,14 8,14 7,14 6,14 5,14 4,14 4,13 3,13 3,12 2,12 2,11 2,10 2,9 2,8 2,7 2,6 2,5 2,4 3,4 3,3 4,3 z M2,2 L3,2 3,3 2,3 z M12,1 L13,1 13,2 12,2 z M3,1 L4,1 4,2 3,2 z M4,0 L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1 z" Fill="{StaticResource GridView_ErrorIndicatorBackground3}" Stretch="Fill"/>
                                    </Grid>
                                </Grid>
                            </Border>
                        </Border>
                    </telerik:SelectiveScrollingGrid>
                </Border>
            </ControlTemplate>
            <SolidColorBrush x:Key="ItemBackground" Color="White"/>
            <Style x:Key="GridViewRowStyle1" TargetType="telerik:GridViewRow">
                <Setter Property="IsTabStop" Value="False"/>
                <Setter Property="Template" Value="{StaticResource GridViewRowTemplate}"/>
                <Setter Property="Background" Value="{StaticResource ItemBackground}"/>
                <Setter Property="BorderBrush" Value="{StaticResource GridView_GridLinesItemBorder}"/>
                <Setter Property="BorderThickness" Value="0"/>
                <Setter Property="FontWeight" Value="Normal"/>
                <Setter Property="VerticalContentAlignment" Value="Stretch"/>
                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                <Setter Property="Padding" Value="0"/>
            </Style>
            <SolidColorBrush x:Key="GridView_GroupPanelOuterBorder" Color="#FF848484"/>
            <ControlTemplate x:Key="RadGridViewTemplate" TargetType="telerik:RadGridView">
                <Border x:Name="PART_MasterGridContainer" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="GridViewActivity">
                            <VisualState x:Name="Idle">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_GridViewLoadingIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Busy">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_GridViewLoadingIndicator">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="ColumnHeadersVisibility">
                            <VisualState x:Name="ColumnHeadersVisible">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_HeaderRow">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="ColumnHeadersCollapsed">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_HeaderRow">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="ColumnFootersVisibility">
                            <VisualState x:Name="ColumnFootersVisible">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_FooterRow">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="ColumnFootersCollapsed">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_FooterRow">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="GroupPanelVisibility">
                            <VisualState x:Name="GroupPanelVisible">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_GroupPanel">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="GroupPanelCollapsed">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_GroupPanel">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="InsertRowVisibility">
                            <VisualState x:Name="InsertRowVisible">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_AddNewRow">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="InsertRowCollapsed">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PART_AddNewRow">
                                        <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <Grid x:Name="HierrarchyBackground">
                        <Grid.Background>
                            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                <GradientStop Color="#4C353535" Offset="0"/>
                                <GradientStop Color="#19B6B6B6" Offset="1"/>
                            </LinearGradientBrush>
                        </Grid.Background>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition x:Name="ScrollBarColumn" MinWidth="0" Width="0"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition x:Name="PART_AttachedBehaviorRow" Height="Auto"/>
                            <RowDefinition/>
                            <RowDefinition x:Name="ScrollBarRow" Height="0" MinHeight="0"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                        <telerik:GridViewGroupPanel x:Name="PART_GroupPanel" BorderBrush="{StaticResource GridView_GroupPanelOuterBorder}" Background="{TemplateBinding GroupPanelBackground}" Grid.ColumnSpan="2" Foreground="{TemplateBinding GroupPanelForeground}" Grid.Row="0" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                        <telerik:GridViewScrollViewer x:Name="PART_ItemsScrollViewer" Background="Transparent" CanContentScroll="True" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2" telerik:StyleManager.Theme="{StaticResource Theme}">
                            <telerik:GridViewScrollViewer.FooterRow>
                                <telerik:GridViewFooterRow x:Name="PART_FooterRow" IndentLevel="{TemplateBinding GroupCount}" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                            </telerik:GridViewScrollViewer.FooterRow>
                            <telerik:GridViewScrollViewer.HeaderRow>
                                <telerik:GridViewHeaderRow x:Name="PART_HeaderRow" IndentLevel="{TemplateBinding GroupCount}" telerik:StyleManager.Theme="{StaticResource Theme}"/>
                            </telerik:GridViewScrollViewer.HeaderRow>
                            <telerik:GridViewScrollViewer.NewRow>
                                <telerik:GridViewNewRow x:Name="PART_AddNewRow" IndentLevel="{TemplateBinding GroupCount}" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="Collapsed"/>
                            </telerik:GridViewScrollViewer.NewRow>
                            <telerik:GridViewVirtualizingPanel x:Name="PART_GridViewVirtualizingPanel"/>
                        </telerik:GridViewScrollViewer>
                        <telerik:ScrollPositionIndicator x:Name="PART_ScrollPositionIndicator" Grid.ColumnSpan="2" ContentTemplate="{TemplateBinding ScrollPositionIndicatorTemplate}" HorizontalAlignment="Right" IsHitTestVisible="False" Margin="0,0,28,0" Grid.Row="2" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="{Binding IsScrolling, Converter={StaticResource BooleanToVisibilityConverter}, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>
                        <Border x:Name="PART_FrozenColumnsPreview" Background="#33000000" HorizontalAlignment="Left" Grid.Row="1" Grid.RowSpan="4" Visibility="Collapsed" VerticalAlignment="Stretch" Width="6"/>
                        <telerik:GridViewLoadingIndicator x:Name="PART_GridViewLoadingIndicator" Grid.ColumnSpan="2" Grid.RowSpan="4" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="Collapsed"/>
                    </Grid>
                </Border>
            </ControlTemplate>
            <SolidColorBrush x:Key="ControlBackground" Color="White"/>
            <SolidColorBrush x:Key="ControlForeground" Color="White"/>
            <SolidColorBrush x:Key="Item_AlternateBackground" Color="#FFF4F4F4"/>
            <LinearGradientBrush x:Key="GridView_GroupPanelBackground" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFDFDFDF" Offset="1"/>
                <GradientStop Color="#FFBABABA"/>
            </LinearGradientBrush>
            <SolidColorBrush x:Key="GridView_GroupPanelForeground" Color="Black"/>
            <Style x:Key="RadGridViewStyleNew" TargetType="telerik:RadGridView">
                <Setter Property="Template" Value="{StaticResource RadGridViewTemplate}"/>
                <Setter Property="Background" Value="{StaticResource ControlBackground}"/>
                <Setter Property="BorderBrush" Value="{StaticResource ControlOuterBorder}"/>
                <Setter Property="Foreground" Value="{StaticResource ControlForeground}"/>
                <Setter Property="BorderThickness" Value="1"/>
                <Setter Property="AlternateRowBackground" Value="{StaticResource Item_AlternateBackground}"/>
                <Setter Property="VerticalGridLinesBrush" Value="{StaticResource GridView_GridLinesItemBorder}"/>
                <Setter Property="HorizontalGridLinesBrush" Value="{StaticResource GridView_GridLinesItemBorder}"/>
                <Setter Property="GroupPanelBackground" Value="{StaticResource GridView_GroupPanelBackground}"/>
                <Setter Property="GroupPanelForeground" Value="{StaticResource GridView_GroupPanelForeground}"/>
                <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
                <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
                <Setter Property="VerticalAlignment" Value="Stretch"/>
                <Setter Property="HorizontalAlignment" Value="Stretch"/>
            </Style>
        </UserControl.Resources
        <Grid x:Name="LayoutRoot">
            <ScrollViewer x:Name="svUserCheckboxlist" Height="auto" BorderThickness="0" Style="{StaticResource Sam_ScrollViewerStyle1}">
                <telerik:RadGridView x:Name="GrdData" IsFilteringAllowed="False"
                                 AutoGenerateColumns="False"
                                 MinHeight="300" MaxHeight="350" Width="Auto"
                                 FrozenColumnCount="{Binding Value, ElementName=RadSlider1, Mode=TwoWay,NotifyOnValidationError=True}"  BorderThickness="2" HorizontalAlignment="Stretch"
                                 CanUserReorderColumns="False" ShowGroupPanel="False" CanUserResizeColumns="False" CanUserDeleteRows="False"
                                 CanUserSelect="False" RowIndicatorVisibility="Collapsed" Background="Transparent" GridLinesVisibility="None"
                                 HeaderRowStyle="{StaticResource GridViewHeaderRowStyle1}" Style="{StaticResource RadGridViewStyleNew}" AlternateRowStyle="{StaticResource GridViewRowStyle1}"
                                 RowStyle="{StaticResource GridViewRowStyle1}" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden" IsReadOnly="True">
                     
                    <telerik:RadGridView.ChildTableDefinitions>
                        <telerik:GridViewTableDefinition>
                            <telerik:GridViewTableDefinition.Relation>                           
                                <telerik:PropertyRelation ParentPropertyName="SubscriptionSubReports" />
                            </telerik:GridViewTableDefinition.Relation>                       
                        </telerik:GridViewTableDefinition>
                    </telerik:RadGridView.ChildTableDefinitions>
                     
                    <telerik:RadGridView.Columns>
                        <telerik:GridViewDataColumn DataMemberBinding="{Binding Title}"  Header="Mnemonic" IsGroupable="False" Background="Transparent" Width="300" />
                        <telerik:GridViewDataColumn DataMemberBinding="{Binding DateValue}" Header="Last Run" IsGroupable="False" Background="Transparent" Width="300" />
                    </telerik:RadGridView.Columns>
                    <telerik:RadGridView.HierarchyChildTemplate>
                        <DataTemplate>
                            <telerik:RadGridView  ItemsSource="{Binding SubscriptionSubReports}" ShowColumnHeaders="False" AutoGenerateColumns="False" IsFilteringAllowed="False"
                                                   Width="Auto" FrozenColumnCount="{Binding Value, ElementName=RadSlider1, Mode=TwoWay,NotifyOnValidationError=True}"
                                                  BorderThickness="2" HorizontalAlignment="Stretch" CanUserReorderColumns="False" ShowGroupPanel="False"
                                                  CanUserResizeColumns="False" CanUserDeleteRows="False" CanUserSelect="False" RowIndicatorVisibility="Collapsed"
                                                  Background="Transparent" GridLinesVisibility="None" HeaderRowStyle="{StaticResource GridViewHeaderRowStyle1}"
                                                  Style="{StaticResource RadGridViewStyleNew}" AlternateRowStyle="{StaticResource GridViewRowStyle1}"
                                                  RowStyle="{StaticResource GridViewRowStyle1}" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
                                                  ScrollViewer.VerticalScrollBarVisibility="Hidden" IsReadOnly="True">
                                <telerik:RadGridView.Columns>
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding SubscriptionSubReports}" />                               
                                </telerik:RadGridView.Columns>
                            </telerik:RadGridView>                      
                        </DataTemplate>
                    </telerik:RadGridView.HierarchyChildTemplate>
     
                </telerik:RadGridView>
            </ScrollViewer>
        </Grid>
    </UserControl>
    Imports System.Collections.ObjectModel
    Imports System.IO
    Imports System.Xml.Linq
    Imports Telerik.Windows.Controls.GridView
    Imports Iatric.SAM.Interface
    Imports Iatric.SAM.Infrastructure
    Imports System.ServiceModel.DomainServices.Client
    Imports Iatric.SAM.SAM5ClassLibrary.Iatric.SAM.Common
    Imports Iatric.SAM.SAM5ClassLibrary.Iatric.SAM.SAM5DomainService
     
    Partial Public Class ReportsWithDateLauncher
        Inherits UserControl
     
        Dim userContext As New SAMAdminRegistration
        Dim _reportName As String = Nothing
        Dim _reportTypeInt As Int32
        Dim _isMyReport As Boolean = False
        Public Event rptClick As EventHandler(Of ReportRoutedEventArgs)
        Dim reportMetaData1 As New List(Of SubscriptionLauncherElements)
        Dim sam5Context As New SAM5DomainContext
        Public Sub New()
            InitializeComponent()
        End Sub
     
        Public Sub New(ByVal reportType As String)
            Try
                _reportTypeInt = reportType
                InitializeComponent()
     
                If Not IsNothing(_reportTypeInt) Then
                    _reportName = [Enum].GetName(GetType(ReportLauncherElements.WebPartNames), _reportTypeInt)
                End If
     
            Catch ex As Exception
     
            End Try
        End Sub
        Public Sub LoadReportDetails(ByVal reportMetaData As List(Of SubscriptionLauncherElements), Optional ByVal isMyReport As Boolean = False)
            Try
                reportMetaData1 = reportMetaData
                Dim subscriptionlsit As New SubscriptionLst
                subscriptionlsit.Id = 1
                Dim lst As New List(Of String)
                For Each SubscriptionSubReport As SubscriptionLauncherElements In reportMetaData
                    SubscriptionSubReport.SubscriptionSubReports = New List(Of String)
                    Dim mnemonic As String = SubscriptionSubReport.Title.ToString()
                    lst.Add(mnemonic)
                    subscriptionlsit.SubscriptionNames = lst
                    'Dim files As String = Directory.GetFiles(Server.MapPath("~/inc/ssrsrpts"), mnemonic & "~*")
                    'SubscriptionSubReport.SubscriptionSubReports.Add(mnemonic)
                Next
                sam5Context.GetListOfSubscriptionFileList(subscriptionlsit, AddressOf LoadSubscriptionLauncherElements, Nothing)
                _isMyReport = isMyReport
            Catch ex As Exception
     
            End Try
        End Sub
     
        Private Sub LoadSubscriptionLauncherElements(ByVal invoke As InvokeOperation(Of IEnumerable(Of SubscriptionReportFile)))
            Try
                If (reportMetaData1.Count > 0) Then
                    For Each SubscriptionSubReport As SubscriptionLauncherElements In reportMetaData1
                        Dim Mnemonics = SubscriptionSubReport.Title
                        Dim qry1 = invoke.Value
                        Dim query = From x In invoke.Value Where x.Mnemonic = Mnemonics Select x.FileName
                        If (Not query Is Nothing) Then
                            For Each files As String In query
                                SubscriptionSubReport.SubscriptionSubReports.Add(files)
                            Next
                        End If
                    Next
                    GrdData.ItemsSource = Nothing
                    GrdData.ItemsSource = reportMetaData1
                    GrdData.Rebind()
                End If
            Catch ex As Exception
     
            End Try
        End Sub
     
    End Class
Back to Top