Telerik Forums
UI for WinUI Forum
1 answer
22 views

Hi,

I would like to use SelectionMode="Extended" for my DataGrid and still be able to navigate through/select rows with arrow keys. Setting IsSynchronizedWithCurrentItem="True", however, disables multiselection. Is there a way to combine the two behaviors?

Thanks for your help

Regards

Simon

Stenly
Telerik team
 answered on 15 Mar 2024
1 answer
26 views

I have simple datagrid with numerical columns and when I switch on column filter dialog it is impossible to enter values over 100 or below 0. It looks like that RadNumericBox is limited to range <0,100>. I am able to disable distinct values but nothing else.

For example:


    <telerikgrid:RadDataGrid x:Name="MeasuredProfilesDataGrid" ItemsSource="{x:Bind ViewModel.Points}" AutoGenerateColumns="False" SelectionMode="Extended" SelectionUnit="Row" UserGroupMode="Disabled" UserEditMode="Inline">

        <telerikgrid:RadDataGrid.Columns>
            <telerikgrid:DataGridNumericalColumn PropertyName="StationingUserValue" Header="{x:Bind HeaderViewModel.StationingHeader}" CellContentFormat="{x:Bind HeaderViewModel.StationingFormatString}" ShowDistinctValuesFilter="False"/>
            <telerikgrid:DataGridNumericalColumn PropertyName="OffsetXUserValue" Header="{x:Bind HeaderViewModel.OffsetXHeader}" CellContentFormat="{x:Bind HeaderViewModel.LocalDistanceFormatString}" ShowDistinctValuesFilter="False"/>
            <telerikgrid:DataGridNumericalColumn PropertyName="OffsetYUserValue" Header="{x:Bind HeaderViewModel.OffsetYHeader}" CellContentFormat="{x:Bind HeaderViewModel.LocalDistanceFormatString}" ShowDistinctValuesFilter="False"/>
            <telerikgrid:DataGridNumericalColumn PropertyName="EastingUserValue" Header="{x:Bind HeaderViewModel.EastingHeader}" CellContentFormat="{x:Bind HeaderViewModel.ENHFormatString}" ShowDistinctValuesFilter="False"/>
            <telerikgrid:DataGridNumericalColumn PropertyName="NorthingUserValue" Header="{x:Bind HeaderViewModel.NorthingHeader}" CellContentFormat="{x:Bind HeaderViewModel.ENHFormatString}" ShowDistinctValuesFilter="False"/>
            <telerikgrid:DataGridNumericalColumn PropertyName="HeightUserValue" Header="{x:Bind HeaderViewModel.HeightHeader}" CellContentFormat="{x:Bind HeaderViewModel.ENHFormatString}" ShowDistinctValuesFilter="False"/>
        </telerikgrid:RadDataGrid.Columns>
    </telerikgrid:RadDataGrid>

Martin Ivanov
Telerik team
 answered on 15 Feb 2024
1 answer
39 views
Grouping a DataGrid is not what I'm looking for.
Martin Ivanov
Telerik team
 answered on 30 Oct 2023
1 answer
69 views
Hi,

In this sample app, I have 2 spline series to show the bug. The render of each spline is not correct.

Thanks
Sébastien
Lance | Senior Manager Technical Support
Telerik team
 answered on 24 Jan 2023
1 answer
163 views

The SelectedItems in the Documentation is an ObservableCollection but it only has a getter and no setter.

I am able to get SelectedItems like this using interactivity behavior by passing SelectedItems as a command parameter to the ViewModel

But I would like also be able to modify SelectedItems in the ViewModel as well
<telerikGrid:RadDataGrid x:Name="UserGrid"
                                     ItemsSource="{x:Bind ViewModel.Source}"
                                     AutoGenerateColumns="False"
                                     RowHeight="25"
                                     SelectionMode="Multiple"
                                     SelectionUnit="Row"
                                     UserGroupMode="Disabled">
                <i:Interaction.Behaviors>
                    <ic:EventTriggerBehavior EventName="SelectionChanged">
                        <ic:InvokeCommandAction
                            Command="{x:Bind ViewModel.SelectedUsersCommand}"
                            CommandParameter="{x:Bind UserGrid.SelectedItems,Mode=OneWay}"/>
                    </ic:EventTriggerBehavior>
                </i:Interaction.Behaviors>
                <telerikGrid:RadDataGrid.Columns>
                    <telerikGrid:DataGridTemplateColumn SizeMode="Fixed" Width="10">
                        <telerikGrid:DataGridTemplateColumn.CellContentTemplate>
                            <DataTemplate>
                                <StackPanel VerticalAlignment="Center" Margin="5 0 0 0">
                                    <CheckBox/>
                                </StackPanel>
                            </DataTemplate>
                        </telerikGrid:DataGridTemplateColumn.CellContentTemplate>
                    </telerikGrid:DataGridTemplateColumn>
                    <telerikGrid:DataGridTextColumn x:Uid="NameColumn" SizeMode="Auto"  PropertyName="UserName"/>
                    <telerikGrid:DataGridTextColumn x:Uid="EmailColumn" SizeMode="Auto"  PropertyName="UserEmail"/>
                    <telerikGrid:DataGridTextColumn x:Uid="DepartmentColumn" SizeMode="Auto"  PropertyName="DepartmentName"/>
                    <telerikGrid:DataGridBooleanColumn x:Uid="UserStatusColumn" SizeMode="Auto" PropertyName="UserActiveIndicator"/>
                    <telerikGrid:DataGridDateColumn x:Uid="DateCreatedColumn" SizeMode="Auto" PropertyName="RecordCreated" CellContentFormat="{}{0:d}"/>
                    <telerikGrid:DataGridDateColumn x:Uid="DateModifiedColumn" SizeMode="Auto" PropertyName="RecordModified" CellContentFormat="{}{0:d}"/>
                </telerikGrid:RadDataGrid.Columns>
            </telerikGrid:RadDataGrid>

Martin Ivanov
Telerik team
 answered on 30 Sep 2022
2 answers
629 views

In the Grid there are three rows. On the top row is the DataGrid control and on in the middle row there is GridSplitter control then on the bottom is the TabControl.

The requirement is for the GridControl to resize when the GridSplitter resizes the Grid.  There should be a MinHeight property set to display a minimum of 6 rows and GridControl should resize.

Current behavior is that GridControl takes all the space and does not resize when the Grid Splitter is moved up or down.


<Page
    x:Class="CSA2.Views.SearchUserPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:CSA2.Views"
    xmlns:vm="using:CSA2.ViewModels"
    xmlns:controls="using:CSA2.Controls"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:i="using:Microsoft.Xaml.Interactivity"
    xmlns:telerik="using:Telerik.UI.Xaml.Controls"
    xmlns:telerikGrid="using:Telerik.UI.Xaml.Controls.Grid"
    xmlns:telerikPrimitives="using:Telerik.UI.Xaml.Controls.Primitives"
    xmlns:gridPrimitives="using:Telerik.UI.Xaml.Controls.Grid.Primitives"
    xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
    mc:Ignorable="d">
    <Page.Resources>
        <ResourceDictionary>
            <DataTemplate x:Key="ColumnHeaderCompleteTemplate">
                <FontIcon
                    Margin="0,3,0,0"
                    FontSize="16"
                    Glyph="&#xE73E;" />
            </DataTemplate>
        </ResourceDictionary>
    </Page.Resources>
    <Grid  x:Name="ContentArea" Margin="{StaticResource SmallTopBottomMargin}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <StackPanel Margin="0 5 0 5">
            <TextBlock x:Uid="SearchUser" Style="{ThemeResource SubtitleTextBlockStyle}"/>
            <Border BorderThickness=".5" BorderBrush="LightGray" CornerRadius="2">
                <Grid Margin="0 5 0 5">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <StackPanel>
                        <Grid HorizontalAlignment="Left">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*"/>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <TextBlock x:Uid="UserNameText"
                                       Grid.Row="0"
                                       Grid.Column="0"
                                       VerticalAlignment="Center"
                                       Margin="5 0 5 0"/>
                            <TextBox x:Uid="UserNameNullText"
                                     Grid.Row="0"
                                     Grid.Column="1"
                                     Margin="0 0 5 0"
                                     Width="200"
                                     Text="{x:Bind ViewModel.UserName, Mode=TwoWay}"/>
                            <TextBlock Grid.Row="0" x:Uid="UserEmailText"
                                       Grid.Column="2"
                                       VerticalAlignment="Center"
                                       Margin="0 0 5 0"/>
                            <TextBox x:Uid="UserEmailNullText"
                                     Grid.Row="0"
                                     Grid.Column="3"
                                     Width="200"
                                     Text="{x:Bind ViewModel.UserEmail, Mode= TwoWay}"/>
                            <TextBlock x:Uid="UserRoleText"
                                       Grid.Row="0"
                                       Grid.Column="4"
                                       VerticalAlignment="Center"
                                       Margin="5 0 5 0"/>
                            <Button Grid.Row="0"
                                    Grid.Column="5"
                                    Margin="0 0 0 0" HorizontalAlignment="Stretch">
                                <StackPanel>
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="Select"
                                                   Margin="0 0 10 0" />
                                        <FontIcon FontFamily="Segoe MDL2 Assets" Glyph="&#xE70D;"/>
                                    </StackPanel>
                                </StackPanel>
                                <Button.Flyout>
                                    <Flyout Placement="Bottom">
                                        <StackPanel Orientation="Vertical">
                                            <ListView x:Name="UserRoles" ItemsSource="{x:Bind ViewModel.UserRoles, Mode=OneWay}"
                                                      SelectionMode="Multiple"
                                                      VerticalContentAlignment="Top"
                                                      ScrollViewer.IsVerticalRailEnabled="True"
                                                      ScrollViewer.VerticalScrollBarVisibility="Visible">
                                                <i:Interaction.Behaviors>
                                                    <ic:EventTriggerBehavior EventName="SelectionChanged">
                                                        <ic:InvokeCommandAction
                                                            Command="{x:Bind ViewModel.SelectedItemsCommand}"
                                                            CommandParameter="{x:Bind UserRoles.SelectedItems,Mode=OneWay}"/>
                                                    </ic:EventTriggerBehavior>
                                                </i:Interaction.Behaviors>
                                            </ListView>
                                        </StackPanel>
                                    </Flyout>
                                </Button.Flyout>
                            </Button>
                            <TextBlock x:Uid="UserDepartmentText"
                                       Grid.Row="0"
                                       Grid.Column="6"
                                       VerticalAlignment="Center"
                                       Margin="5 0 5 0"/>
                            <Button Grid.Row="0"
                                    Grid.Column="7"
                                    Margin="0 0 0 0" HorizontalAlignment="Stretch">
                                <StackPanel>
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="Select"
                                                   Margin="0 0 10 0" />
                                        <FontIcon FontFamily="Segoe MDL2 Assets" Glyph="&#xE70D;"/>
                                    </StackPanel>
                                </StackPanel>
                                <Button.Flyout>
                                    <Flyout Placement="Bottom">
                                        <StackPanel Orientation="Vertical">
                                            <ListView x:Name="UserDepartments" ItemsSource="{x:Bind ViewModel.UserDepartments, Mode=OneWay}"
                                                      SelectionMode="Multiple"
                                                      VerticalContentAlignment="Top"
                                                      ScrollViewer.IsVerticalRailEnabled="True"
                                                      ScrollViewer.VerticalScrollBarVisibility="Visible">
                                                <i:Interaction.Behaviors>
                                                    <ic:EventTriggerBehavior EventName="SelectionChanged">
                                                        <ic:InvokeCommandAction
                                                            Command="{x:Bind ViewModel.SelectedItemsCommand}"
                                                            CommandParameter="{x:Bind UserDepartments.SelectedItems,Mode=OneWay}"/>
                                                    </ic:EventTriggerBehavior>
                                                </i:Interaction.Behaviors>
                                            </ListView>
                                        </StackPanel>
                                    </Flyout>
                                </Button.Flyout>
                            </Button>
                            <TextBlock x:Uid="UserFunctionsText"
                                       Grid.Row="0"
                                       Grid.Column="8"
                                       VerticalAlignment="Center"
                                       Margin="5 0 5 0"/>
                            <Button Grid.Row="0"
                                    Grid.Column="9"
                                    Margin="0 0 0 0" HorizontalAlignment="Stretch">
                                <StackPanel>
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="Select"
                                                   Margin="0 0 10 0" />
                                        <FontIcon FontFamily="Segoe MDL2 Assets" Glyph="&#xE70D;"/>
                                    </StackPanel>
                                </StackPanel>
                                <Button.Flyout>
                                    <Flyout Placement="Bottom">
                                        <StackPanel Orientation="Vertical">
                                            <ListView x:Name="UserFunctions" ItemsSource="{x:Bind ViewModel.UserFunctions, Mode=OneWay}"
                                                      SelectionMode="Multiple"
                                                      VerticalContentAlignment="Top"
                                                      ScrollViewer.IsVerticalRailEnabled="True"
                                                      ScrollViewer.VerticalScrollBarVisibility="Visible">
                                                <i:Interaction.Behaviors>
                                                    <ic:EventTriggerBehavior EventName="SelectionChanged">
                                                        <ic:InvokeCommandAction
                                                            Command="{x:Bind ViewModel.SelectedItemsCommand}"
                                                            CommandParameter="{x:Bind UserFunctions.SelectedItems,Mode=OneWay}"/>
                                                    </ic:EventTriggerBehavior>
                                                </i:Interaction.Behaviors>
                                            </ListView>
                                        </StackPanel>
                                    </Flyout>
                                </Button.Flyout>
                            </Button>
                            <Button Grid.Row="0"
                                    Grid.Column="10"
                                    Margin="5 0 0 0"
                                    Command="{x:Bind ViewModel.SearchCommand}">
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock x:Uid="SearchButtonText"
                                               Margin="0 0 10 0" />
                                    <SymbolIcon Symbol="Zoom"/>
                                </StackPanel>
                            </Button>
                            <Button Grid.Row="1"
                                    Grid.Column="9"
                                    Command="{x:Bind ViewModel.AddUserCommand}">
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock x:Uid="CreateNewButtonText" Margin="0 0 20 0"/>
                                    <SymbolIcon Symbol="AddFriend"/>
                                </StackPanel>
                            </Button>
                            <Button Grid.Row="1"
                                    Grid.Column="10"
                                    Margin="5 0 0 0"
                                    Command="{x:Bind ViewModel.ClearCommand}">
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock x:Uid="ClearButtonText" Margin="0 0 20 0"/>
                                    <SymbolIcon Symbol="Refresh"/>
                                </StackPanel>
                            </Button>
                        </Grid>
                    </StackPanel>
                </Grid>
            </Border>
        </StackPanel>
        <Grid Grid.Row="1" Margin="0 5 0 5">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="10"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <telerikGrid:RadDataGrid x:Name="UserGrid"
                                     MinHeight="150"
                                     ItemsSource="{x:Bind ViewModel.Source}"
                                     AutoGenerateColumns="False"
                                     RowHeight="25"
                                     SelectionMode="Multiple"
                                     SelectionUnit="Row"
                                     UserGroupMode="Disabled">
                <i:Interaction.Behaviors>
                    <ic:EventTriggerBehavior EventName="SelectionChanged">
                        <ic:InvokeCommandAction
                            Command="{x:Bind ViewModel.SelectedUsersCommand}"
                            CommandParameter="{x:Bind UserGrid.SelectedItems,Mode=OneWay}"/>
                    </ic:EventTriggerBehavior>
                </i:Interaction.Behaviors>
                <telerikGrid:RadDataGrid.Columns>
                    <telerikGrid:DataGridTemplateColumn SizeMode="Fixed" Width="20">
                        <telerikGrid:DataGridTemplateColumn.CellContentTemplate>
                            <DataTemplate>
                                <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                                    <CheckBox/>
                                </StackPanel>
                            </DataTemplate>
                        </telerikGrid:DataGridTemplateColumn.CellContentTemplate>
                    </telerikGrid:DataGridTemplateColumn>
                    <telerikGrid:DataGridTextColumn SizeMode="Auto"  PropertyName="UserName" Header="Name"/>
                    <telerikGrid:DataGridTextColumn SizeMode="Auto"  PropertyName="UserEmail" Header="Email"/>
                    <telerikGrid:DataGridTextColumn SizeMode="Auto"  PropertyName="DepartmentName" Header="Department"/>
                    <telerikGrid:DataGridBooleanColumn SizeMode="Auto" PropertyName="UserActiveIndicator" Header="User Status" />
                    <telerikGrid:DataGridDateColumn SizeMode="Auto" PropertyName="RecordCreated" Header="Date Created" CellContentFormat="{}{0:d}"/>
                    <telerikGrid:DataGridDateColumn SizeMode="Auto" PropertyName="RecordModified" Header="Date Modified" CellContentFormat="{}{0:d}"/>
                </telerikGrid:RadDataGrid.Columns>
            </telerikGrid:RadDataGrid>
            <telerikPrimitives:RadGridSplitter Grid.Row="1"
                                               ResizeBehavior="BasedOnAlignment"
                                               ResizeDirection="Rows"
                                               HorizontalAlignment="Stretch">
                <telerikPrimitives:RadGridSplitter.Element>
                    <FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="&#xE76F;" FontSize="10"/>
                </telerikPrimitives:RadGridSplitter.Element>
            </telerikPrimitives:RadGridSplitter>
            <Grid Grid.Row="2" Margin="0 2 0 0">
                <telerik:RadTabControl>
                    <telerik:RadTabControl.Items>
                        <telerik:RadTabItem Header="User Details">
                            <telerik:RadTabItem.Content>
                                <controls:AddEditControl x:Name="AddEditControl" DataContext="{x:Bind ViewModel.UserDetailsViewModel}" />
                            </telerik:RadTabItem.Content>
                        </telerik:RadTabItem>
                        <telerik:RadTabItem Header="Tab 2" Content="The content of tab item 2"/>
                        <telerik:RadTabItem Header="Tab 3" Content="The content of tab item 3"/>
                        <telerik:RadTabItem Header="Tab 4" Content="The content of tab item 4"/>
                    </telerik:RadTabControl.Items>
                </telerik:RadTabControl>
            </Grid>
        </Grid>
    </Grid>
</Page>

 
Masha
Telerik team
 answered on 26 Sep 2022
1 answer
94 views

When clicking button inside the DataGrid row the command doesn't get executed in the ViewModel.

Both Page and ViewModel are created by the DI container so I need to be able to pass the POCO object of the row where the button is clicked to the ViewModel.

 <telerikGrid:RadDataGrid DataContext="{x:Bind ViewModel}" ItemsSource="{x:Bind ViewModel.Source}" AutoGenerateColumns="False">
                            <telerikGrid:RadDataGrid.Columns>
                                <telerikGrid:DataGridTextColumn PropertyName="UserName" Header="User Name"/>
                                <telerikGrid:DataGridTextColumn PropertyName="UserEmail" Header="User Email"/>
                                <telerikGrid:DataGridBooleanColumn PropertyName="UserActiveIndicator" Header="User Status" />
                                <telerikGrid:DataGridDateColumn PropertyName="RecordCreated" Header="Date Created"/>
                                <telerikGrid:DataGridDateColumn PropertyName="RecordModified" Header="Date Modified"/>
                                <telerikGrid:DataGridTemplateColumn Header="Edit" Width="81">
                                    <telerikGrid:DataGridTemplateColumn.CellContentTemplate>
                                        <DataTemplate x:DataType="vm:SearchUserViewModel">
                                            <Button x:Name="editButton" Command="{x:Bind  EditUserCommand}" CommandParameter="{Binding }">
                                                <SymbolIcon Symbol="Edit"/>
                                            </Button>
                                        </DataTemplate>
                                    </telerikGrid:DataGridTemplateColumn.CellContentTemplate>
                                </telerikGrid:DataGridTemplateColumn>
                            </telerikGrid:RadDataGrid.Columns>
                        </telerikGrid:RadDataGrid>


Vladimir Stoyanov
Telerik team
 answered on 19 Sep 2022
1 answer
136 views
Hi,

On the video, you see the WinUI and UWP versions of the same implementation. I use expando to set the ItemsSource.

Differences:
1- Header has a mouse over state on WinUI. What is the trick to not have this?

2- In my DescriptionControl.xaml, the control has an hard coded value of Height=192. WinUI grid ignores this value. However, setting the RowHeight in the RadDataGrid does the job. Is it a bug/regression/new expectation?

3- For each timestamp (TimestampColumn), the SizeMode is Auto. In WinUI, my columns are much larger than UWP version.

4- Surely super easy, how to change the foreground and background color of the header column? Background and Foreground don't exist on DataGridTypedColumn. The default output of UWP is nicer.

Thank you!
Vicky
Telerik team
 answered on 15 Jul 2022
1 answer
168 views
Hi,

Load the sample app, it generates: Error HRESULT E_FAIL has been returned from a call to a COM component.

I have the same in a UWP app and it works perfectly.

<grid:RadDataGrid
            x:Name="DataGrid"
            Grid.Row="1"
            AutoGenerateColumns="True"
            Background="#f0f0f0"
            BorderThickness="0"
            FrozenColumnCount="4"
            GridLinesThickness="1"
            GridLinesVisibility="Horizontal"
            Margin="0,16,0,0"
            SelectionMode="None"
            UserColumnReorderMode="None"
            UserFilterMode="Disabled"
            UserGroupMode="Disabled">
            <grid:RadDataGrid.Commands>
                <powerNumbers:PowerNumbersAutoGenerateCommand />
            </grid:RadDataGrid.Commands>
        </grid:RadDataGrid>
Lance | Senior Manager Technical Support
Telerik team
 answered on 12 Jul 2022
1 answer
127 views

Hi,

Any idea when we can expect the excel export functionality in Telerik WinUI?

 

Thanks

Stenly
Telerik team
 answered on 11 Feb 2022
Top users last month
Mark
Top achievements
Rank 1
Yurii
Top achievements
Rank 1
Leland
Top achievements
Rank 2
Iron
Iron
Iron
Hon
Top achievements
Rank 1
Iron
Deltaohm
Top achievements
Rank 3
Bronze
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?