Dynamic change of the IsEnabled property of the RadDataGrid does not affect the RowDetails, leaving the UI inconsistent.
In my case, the RadDataGrid is disabled initially (IsEnabled=False). Some data is loaded in the DataGrid. At runtime I set the IsEnabled property of the DataGrid to true. I am then able to expand row details. The issue is that the view in the row details has the IsEnabled property set to false.
having shell project with two pages added in flyout items:
MainPage is with DataGrid, page2 with TabView.
On .NET 8 RC1/RC2 Switching back from page2 to MainPage results in a StackOverflowException from RadDataGrid.
<ContentPage.Resources>
<ResourceDictionary>
<Style TargetType="telerik:RadBusyIndicator" x:Name="busy">
<Setter Property="BackgroundColor" Value="Red"/>
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<telerik:RadDataGrid IsBusy="True"/>
Application Crashes if we delay the column creations after the collection is set.
No crash if we remove the delay.
When cell is in edit mode, pressings enter key calls infinitely CommitEdit Execute method in custom scenario.
1. When new item is added to the DataGrid source, the cell goes in edit mode
2. Pressing enter key executes additional logic and CommitEdit Execute method calls infinitely.
Workaround:
Inside the CommitEdit CanExecure method, call the default can execute logic
public override bool CanExecute(object parameter)
{
return this.Owner.CommandService.CanExecuteDefaultCommand(DataGridCommandId.CommitEdit, parameter);
//return true;
}
If I use the CellEditTemplate to show a custom view when editing - the view does not get auto focus when shown and the end user needs to tap inside so the view gets focus.
<telerik:DataGridTextColumn PropertyName="CountryName" HeaderText="Country">
<telerik:DataGridTextColumn.CellEditTemplate>
<DataTemplate>
<telerik:RadEntry Text="{Binding Item.CountryName}" />
</DataTemplate>
</telerik:DataGridTextColumn.CellEditTemplate>
</telerik:DataGridTextColumn>
Work-around:
Manually invoke the Focus() method and set the cursor position when the view gets loaded and when it changes its visibility:
<telerik:RadEntry Text="{Binding Item.CountryName}"
Loaded="RadEntry_Loaded"
PropertyChanged="RadEntry_PropertyChanged" />
private void RadEntry_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(View.IsVisible))
{
RadEntry entry = (RadEntry)sender;
if (entry.IsVisible)
{
FocusEntry(entry);
}
}
}
private void RadEntry_Loaded(object sender, EventArgs e)
{
FocusEntry((RadEntry)sender);
}
private static void FocusEntry(RadEntry entry)
{
entry.Dispatcher.DispatchDelayed(TimeSpan.FromMilliseconds(1), () =>
{
entry.Focus();
entry.CursorPosition = entry.Text?.Length ?? 0;
});
}
Hi Team,
If the cell is frozen, the HitTestService.CellInfoFromPoint( ) method always returns null
Thank you,
Jia
I want to exit edit mode and commit edit when hitting on Enter Key.
It works great for text column/cell.
But it does not work for numerical cellsIf a user changes an editable cell's value and then hit Tab, and the next cell to the right is not editable. Furthermore, the DataGrid enters into a state where no cells can be edited.
DataGrid is added inside pages that can be accessed through shell flyout menu.
And the exact steps to reproduce the issue:
Go to page GridOne page in flyout menu.Hi,
I'am testing Telerik .NET MAUI controls for windows and android. FontFamily property of columns (both for xaml and app.xaml) not working. If an embedded font is choosen for whole application, DataGrids look different from other parts of the application
here is my xaml, "fnt_bold" is a MauiFont in resources. All other ui components are shown in my font
<telerik:RadDataGrid x:Name="dataGrid" AutoGenerateColumns="False" UserEditMode="None" UserGroupMode="Disabled" SelectionMode="Single" SelectionUnit="Row" >
<telerik:RadDataGrid.Columns>
<telerik:DataGridTextColumn PropertyName="ID" HeaderText="RefID" Width="60" SizeMode="Fixed">
<telerik:DataGridTextColumn.CellContentStyle>
<telerik:DataGridTextCellStyle FontFamily="fnt_bold" FontSize="12.25"/>
</telerik:DataGridTextColumn.CellContentStyle>
</telerik:DataGridTextColumn>
<telerik:DataGridTextColumn PropertyName="CODE" HeaderText="Code" Width="80" SizeMode="Fixed">
<telerik:DataGridTextColumn.CellContentStyle>
<telerik:DataGridTextCellStyle FontFamily="fnt_bold" FontSize="12.25"/>
</telerik:DataGridTextColumn.CellContentStyle>
</telerik:DataGridTextColumn>
<telerik:DataGridTextColumn PropertyName="NAME" HeaderText="Name" Width="250" SizeMode="Fixed">
<telerik:DataGridTextColumn.CellContentStyle>
<telerik:DataGridTextCellStyle FontFamily="fnt_regular" FontSize="12.25"/>
</telerik:DataGridTextColumn.CellContentStyle>
</telerik:DataGridTextColumn>
</telerik:RadDataGrid.Columns>
</telerik:RadDataGrid>
I have attached a screenshot from my test app.
I also checked the sample telerik android app (Telerik UI for .NET MAUI Controls). DataGrid components in Telerik Sample app also dont use the expected font unlike all other ui components.
Just one of the DataGrid samples of one column in the sample app has the correct fontfamily property. I have attached that screenshot also. I couldn't figure out how to implement it.
Am i missing something?
Thanks in advance.
Ender
Having this setup:
<telerikDataGrid:DataGridTemplateColumn HeaderText="Age"
CanUserSort="True">
<telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate>
<Label Text="{Binding Age}" />
</DataTemplate>
</telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
<telerikDataGrid:DataGridTemplateColumn.SortDescriptor>
<telerikCommon:PropertySortDescriptor PropertyName="Age" SortOrder="Descending" />
</telerikDataGrid:DataGridTemplateColumn.SortDescriptor>
</telerikDataGrid:DataGridTemplateColumn>
When applying SortDescriptor to the Template column, the column is not initially sorted.
Add the ability to specify a template when the ItemsSource is null or collection is empty.
As a solution until this feature is implemented:
Hide the DataGrid and show any content over it in the case its ItemsSource is empty.