We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

How to customize datagrid GroupDropArea?

Hi,

I need to customize the styling of GroupDropArea feature in SfDatagrid. But the property of the styling seems to be limited. Below is the standard styling for GroupDropArea:


May i know how can i remove the 3 togglebutton at top right, and remove the dotted line surrounding the watermark text? also the watermark text seems like not able to set the alignment to top left.

3 Replies

SV Srinivasan Vasu Syncfusion Team July 14, 2017 10:21 AM UTC

Hi Bao, 
 
Thanks for contacting Syncfusion support. 
 
We have checked your query and you can achieve your requirement by customizing the style GroupDropArea. 
 
Please refer the below code example 
 
   <Style x:Key="ToggleButtonStyle" TargetType="ToggleButton"> 
            <Setter Property="Background" Value="Transparent" /> 
             // Remove ToggleButton of GroupDropArea 
 
            <Setter Property="Visibility" Value="Collapsed"/> 
            <Setter Property="Template"> 
                <Setter.Value> 
                    <ControlTemplate TargetType="ToggleButton"> 
                        <Grid Background="{TemplateBinding Background}"> 
                            <Path Data="M31.460022,0 C34.221447,-4.8935362E-08 36.460022,2.2385764 36.460022,5 C36.460022,7.7614241 34.221447,10 31.460022,10 C28.698599,10 26.460022,7.7614241 26.460022,5 C26.460022,2.2385764 28.698599,-4.8935362E-08 31.460022,0 z M18.208984,0 C20.970407,-4.8935362E-08 23.208984,2.2385764 23.208984,5 C23.208984,7.7614241 20.970407,10 18.208984,10 C15.44756,10 13.208984,7.7614241 13.208984,5 C13.208984,2.2385764 15.44756,-4.8935362E-08 18.208984,0 z M5,0 C7.7614241,-4.8935362E-08 10,2.2385764 10,5 C10,7.7614241 7.7614241,10 5,10 C2.2385764,10 0,7.7614241 0,5 C0,2.2385764 2.2385764,-4.8935362E-08 5,0 z" 
                              Fill="Gray" 
                              SnapsToDevicePixels="True" 
                              Stretch="Uniform" 
                              UseLayoutRounding="False" /> 
                        </Grid> 
                    </ControlTemplate> 
                </Setter.Value> 
            </Setter> 
        </Style> 
 
 
        <Style  TargetType="syncfusion:GroupDropArea"> 
            <Setter Property="Background" Value="White" /> 
            <Setter Property="Foreground" Value="Gray" /> 
            <Setter Property="BorderBrush" Value="Gray" /> 
            <Setter Property="BorderThickness" Value="1,1,1,0" /> 
            <Setter Property="Focusable" Value="False" /> 
            <Setter Property="IsTabStop" Value="False" /> 
            <Setter Property="Template"> 
                <Setter.Value> 
                    <ControlTemplate TargetType="syncfusion:GroupDropArea"> 
                        <Border BorderBrush="{TemplateBinding BorderBrush}" 
                            BorderThickness="{TemplateBinding BorderThickness}" 
                            SnapsToDevicePixels="True"> 
                            <VisualStateManager.VisualStateGroups> 
                                <VisualStateGroup x:Name="ExpansionStates"> 
                                    <VisualStateGroup.Transitions> 
                                        <VisualTransition GeneratedDuration="0" /> 
                                    </VisualStateGroup.Transitions> 
                                    <VisualState x:Name="Collapsed"> 
                                        <Storyboard> 
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_GroupDropAreaBorder" Storyboard.TargetProperty="(FrameworkElement.Margin)"> 
                                                <DiscreteObjectKeyFrame KeyTime="0:0:0"> 
                                                    <DiscreteObjectKeyFrame.Value> 
                                                        <Thickness>0,0,0,0</Thickness> 
                                                    </DiscreteObjectKeyFrame.Value> 
                                                </DiscreteObjectKeyFrame> 
                                            </ObjectAnimationUsingKeyFrames> 
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PART_GroupDropAreaBorder" Storyboard.TargetProperty="(FrameworkElement.Height)"> 
                                                <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="0"> 
                                                    <EasingDoubleKeyFrame.EasingFunction> 
                                                        <CircleEase /> 
                                                    </EasingDoubleKeyFrame.EasingFunction> 
                                                </EasingDoubleKeyFrame> 
                                            </DoubleAnimationUsingKeyFrames> 
                                        </Storyboard> 
                                    </VisualState> 
                                    <VisualState x:Name="Expanded"> 
                                        <Storyboard> 
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_GroupDropAreaBorder" Storyboard.TargetProperty="(FrameworkElement.Margin)"> 
                                                <DiscreteObjectKeyFrame KeyTime="0:0:0"> 
                                                    <DiscreteObjectKeyFrame.Value> 
                                                        <Thickness>0,0,0,20</Thickness> 
                                                    </DiscreteObjectKeyFrame.Value> 
                                                </DiscreteObjectKeyFrame> 
                                            </ObjectAnimationUsingKeyFrames> 
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PART_GroupDropAreaBorder" Storyboard.TargetProperty="(FrameworkElement.Height)"> 
                                                <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="28"> 
                                                    <EasingDoubleKeyFrame.EasingFunction> 
                                                        <CircleEase /> 
                                                    </EasingDoubleKeyFrame.EasingFunction> 
                                                </EasingDoubleKeyFrame> 
                                            </DoubleAnimationUsingKeyFrames> 
                                        </Storyboard> 
                                    </VisualState> 
                                </VisualStateGroup> 
                            </VisualStateManager.VisualStateGroups> 
                            <Grid Background="{TemplateBinding Background}"> 
                                <Grid.RowDefinitions> 
                                    <RowDefinition x:Name="rd0" Height="Auto" /> 
                                    <RowDefinition x:Name="rd1" Height="*" /> 
                                </Grid.RowDefinitions> 
                                <Grid.ColumnDefinitions> 
                                    <ColumnDefinition x:Name="cd0" Width="*" /> 
                                    <ColumnDefinition x:Name="cd1" Width="Auto" /> 
                                </Grid.ColumnDefinitions> 
                                <ToggleButton Grid.Row="0" 
                                          Grid.Column="1" 
                                          Width="45" 
                                          Height="12" 
                                          Margin="2" 
                                          Background="Transparent" 
                                          IsChecked="{Binding Path=IsExpanded, 
                                                              RelativeSource={RelativeSource TemplatedParent}, 
                                                              Mode=TwoWay}" 
                                          IsTabStop="False" 
                                          IsThreeState="False" 
                                          SnapsToDevicePixels="True" 
                                          Style="{StaticResource ToggleButtonStyle}" /> 
                                <Border Name="PART_GroupDropAreaBorder" 
                                    Grid.Row="1" 
                                    Grid.Column="0" 
                                    Grid.ColumnSpan="1" 
                                    Height="0" 
                                    SnapsToDevicePixels="True"> 
                                    <Grid x:Name="PART_GroupDropAreaGrid" 
                                      MaxHeight="30" 
 
                                // Change Alignment of WaterMarktext. 
 
                                      Margin="5,0,0,0"> 
                                        <Grid HorizontalAlignment="Left" 
                                          VerticalAlignment="Top" 
                                          Opacity="0.5" 
                                          Visibility="{TemplateBinding WatermarkTextVisibility}"> 
 
                                       //Remove Dotted line around watermark text 
 
                                            <!--<Rectangle RadiusX="5" 
                                                   RadiusY="5" 
                                                   SnapsToDevicePixels="True" 
                                                   Stroke="{TemplateBinding Foreground}" 
                                                   StrokeDashArray="5,5" 
                                                   StrokeThickness="1" />--> 
                                            <TextBlock  
                                                   HorizontalAlignment="Center" 
                                                   VerticalAlignment="Center" 
                                                   FontSize="14" 
                                                   Foreground="{TemplateBinding Foreground}" 
                                                   Text="{TemplateBinding GroupDropAreaText}" /> 
                                        </Grid> 
                                        <StackPanel Name="PART_StackPanel" 
                                                MaxHeight="30" 
                                                Orientation="Horizontal" /> 
                                    </Grid> 
                                </Border> 
                            </Grid> 
                        </Border> 
                    </ControlTemplate> 
                </Setter.Value> 
            </Setter> 
        </Style> 
 
 
 
Please download the sample from the below location. 
 
 
 
Regards, 
Srinivasan 



BY BAO YADONG July 18, 2017 08:58 AM UTC

Thanks a lot. It works like expected with minor modification.



SV Srinivasan Vasu Syncfusion Team July 18, 2017 09:44 AM UTC

Hi Bao, 
  
Thanks for your response. 
  
Please let us know if you need further assistance. 
  
Regards, 
Srinivasan 


Loader.
Live Chat Icon For mobile
Up arrow icon