This question is locked. New answers and comments are not allowed.
HI Please find the screen shot Requirement #1 I have edited the GroupPanleTemplate, to have 2 Texblock's and 2 ComboBox. Problem 1: Since its GroupPanle, User can drag and Drop Header's over this panel to have grouping in Radgrid. I dont want such thing to happen. Solution needed: Instead of GroupPanle, can i have custom panale over the Header. if so provide me a sample. Problem 2: I need to find the name's of those combobox's and add the custom collection from the user and then to have selection changed event of those combobox's. Based on selection, grid should respond. for ex: Grid should group based on the selection of Group Combobox. in the same Filter too. If filtering combox is selected 1st then Grouping should be based on current rows in Grid. Requirement #2 Edited the VerticalScrollBar, to have 3 button's (Add -> Add New Row, Delete --> Delete Row, Select --> Select Row) I need to expose events to user for these buttons. I need to have a panel below the Horizontal Scroll Bar, so that i can have RadPager and associated events to be fired based on the selection of Pager... Here is the Xaml Code <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="_38760_ScrollBarWidth.MainPage" Width="640" Height="480"> <UserControl.Resources> <SolidColorBrush x:Key="GridView_GroupPanelOuterBorder" Color="#FF848484"/> <SolidColorBrush x:Key="GridView_GroupPanelInnerBorder" Color="#FFEFF6FF"/> <telerik:Office_BlackTheme x:Key="Theme"/> <telerik:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> <RadialGradientBrush x:Key="GridView_ScrollViewerIntersectionRectangleBackground" Center="0 0" GradientOrigin="0 0" RadiusY="1" RadiusX="1"> <GradientStop Color="#FF848484" Offset="0.066"/> <GradientStop Color="#FFBFBFBF" Offset="0.066"/> <GradientStop Color="#FFF0F0F0" Offset="0.29"/> </RadialGradientBrush> <ControlTemplate x:Key="GridViewGroupPanelTemplate" TargetType="telerik:GridViewGroupPanel"> <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="Grouping"> <VisualState x:Name="NoGroups"/> <VisualState x:Name="HasGroups"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="panelTextGrouped" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Border Background="{TemplateBinding Background}" BorderBrush="{StaticResource GridView_GroupPanelInnerBorder}" BorderThickness="1"> <StackPanel> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition Width="2*"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition Width="2*"></ColumnDefinition> </Grid.ColumnDefinitions> <TextBlock x:Name="part_txtBlockGroupBy" Grid.Row="0" Grid.Column="0" Text="Group By" Width="100" Margin="0,5,0,-5"></TextBlock> <ComboBox x:Name="part_GroupByCombo" Grid.Row="0" Grid.Column="1" Width="200" Margin="0,3,0,-5"> <ComboBox.Items> <ComboBoxItem Content="Property1"></ComboBoxItem> <ComboBoxItem Content="Property2"></ComboBoxItem> <ComboBoxItem Content="Property3"></ComboBoxItem> </ComboBox.Items> </ComboBox> <TextBlock x:Name="panelTextGrouped" Grid.Row="0" Grid.Column="2" Text="Filter By" Margin="0,5,0,-5"/> <ComboBox x:Name="part_FilterByCombo" Grid.Row="0" Grid.Column="3" Width="200" Margin="0,3,0,-5"></ComboBox> </Grid> </StackPanel> </Border> </Border> </ControlTemplate> <ItemsPanelTemplate x:Key="GridViewGroupPanelItemsPanelTemplate"> <StackPanel VerticalAlignment="Stretch" Orientation="Horizontal"/> </ItemsPanelTemplate> <ControlTemplate x:Key="GridViewScrollViewerTemplate" TargetType="telerik:GridViewScrollViewer"> <Grid x:Name="PART_RootPanel" Background="{TemplateBinding Background}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <telerik:ScrollContentPresenter CanContentScroll="{TemplateBinding CanContentScroll}" Grid.Row="2"/> <ScrollBar x:Name="PART_VerticalScrollBar" BorderThickness="1,0,0,0" Grid.Column="1" IsTabStop="False" Maximum="{TemplateBinding ScrollableHeight}" Minimum="0.0" Orientation="Vertical" Grid.Row="0" Grid.RowSpan="4" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" MinWidth="40"/> <Grid Grid.Column="0" Grid.Row="4" > <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Button Content="Add" Grid.Column="0" Grid.Row="0"></Button> <Button Content="Delete" Grid.Column="1" Grid.Row="0"></Button> <Button Content="Select" Grid.Column="2" Grid.Row="0"></Button> <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="3" Grid.Row="0" BorderThickness="0,1,0,0" IsTabStop="False" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0.0" Orientation="Horizontal" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}" MinHeight="40"/> <telerik:RadDataPager Grid.Row="1" Grid.ColumnSpan="4" /> </Grid> <Rectangle Grid.Column="1" Fill="{StaticResource GridView_ScrollViewerIntersectionRectangleBackground}" Grid.Row="4"/> </Grid> </ControlTemplate> <Style x:Key="GridViewScrollViewerStyle" TargetType="telerik:GridViewScrollViewer"> <Setter Property="Template" Value="{StaticResource GridViewScrollViewerTemplate}"/> </Style> <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" Background="{TemplateBinding 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}" Style="{StaticResource GridViewScrollViewerStyle}"> <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="ControlOuterBorder" Color="#FF848484"/> <SolidColorBrush x:Key="ControlForeground" Color="Black"/> <SolidColorBrush x:Key="Item_AlternateBackground" Color="#FFF4F4F4"/> <SolidColorBrush x:Key="GridView_GridLinesItemBorder" Color="#FFCBCBCB"/> <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="GridViewGroupPanelStyle1" TargetType="telerik:GridViewGroupPanel"> <Setter Property="Template" Value="{StaticResource GridViewGroupPanelTemplate}"/> <Setter Property="ItemsPanel" Value="{StaticResource GridViewGroupPanelItemsPanelTemplate}"/> <Setter Property="MinHeight" Value="32"/> <Setter Property="Margin" Value="0"/> <Setter Property="Padding" Value="10,0,3,0"/> <Setter Property="Background" Value="{StaticResource GridView_GroupPanelBackground}"/> <Setter Property="BorderBrush" Value="{StaticResource GridView_GroupPanelOuterBorder}"/> <Setter Property="BorderThickness" Value="0,0,0,1"/> <Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> </Style> <Style x:Key="RadGridViewStyle" 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="GroupPanelStyle" Value="{StaticResource GridViewGroupPanelStyle1}"/> <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" Background="White" DataContext="{Binding Source={StaticResource SampleDataSource}}"> <telerik:RadGridView Margin="8" ItemsSource="{Binding Collection}" Style="{StaticResource RadGridViewStyle}"/> </Grid> </UserControl>