When navigating to DataGrid examples, xaml binding errors occur for ActualWidth and Header Text.
Still, the app runs as expected.
private void TapGestureRecognizer_Tapped(object sender, TappedEventArgs e)
{
this.dataGrid.CommandService.ExecuteCommand(DataGridCommandId.CommitEdit, new EditContext(null, ActionTrigger.Programmatic, null));
}
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;
});
}
Provide a style property for the text in grouping panel. Currently you can style the border, background color and change the header text of the panel. For example:
<Style TargetType="telerik:DataGridGroupingPanel">
<Setter Property="BackgroundColor" Value="Red"/>
<Setter Property="HeaderText" Value="Hello to group"/>
<Setter Property="CornerRadius" Value="10"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="BorderColor" Value="Blue"/>
</Style>
Behavior on MacCatalyst:
1. Enter in Edit mode in any cell
2. Press Enter
3.Value is committed, but not moved to the next row
Additional note: The KeyDownCommand execute method does not fire on MacCatalyst when cell is in edit mode and Enter is pressed.
This is how it works on Windows
1. Enter in Edit mode in any cell
2. Press Enter
3. Values is committed and the current cell is moved to the next row cell in edit