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;
});
}
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;
}
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
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.
When navigating to DataGrid examples, xaml binding errors occur for ActualWidth and Header Text.
Still, the app runs as expected.
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 Team,
I have attached a reproducible. Open DashboardView.xaml, there you'll find the DataGrid.
Run the project on Windows and take the following steps:
The only way I could get it to render again was by resizing the app window, even calling InvalidateMeasure(SizeChanged) didn't work.
The logic is simple, the button click just clears MainPage.xaml's container children and adds a new instance of DashboardView:
private void OnButton1Clicked(object sender, EventArgs e)
{
currentContentViewHolder.Children.Clear();
currentContentViewHolder.Children.Add(new DashboardView());
}
TapGestureRecognizer not working correctly when tapping inside the DataGrid control on iOS and MacCatalyst platforms.
Workaround:
You could use CellTap or CellDoubleTap commands of the DataGrid control. Here are the links to our documentation articles: DataGrid Commands and DataGrid CellTap Command.
Header Text, group header text, do not display some languages characters like Chinese, Thai, etc.
The root reason for this is the fact that the Skia APIs used to draw the text does not support automatic character fallback.
Workaround:
for header text:
<telerik:DataGridTextColumn.HeaderContentTemplate>
<DataTemplate>
<Label Text="your text"></Label>
</DataTemplate>
</telerik:DataGridTextColumn.HeaderContentTemplate>
group header text
<telerik:RadDataGrid.GroupHeaderTemplate>
<DataTemplate>
<Label Text="{Binding Group.Key}"/>
</DataTemplate>
</telerik:RadDataGrid.GroupHeaderTemplate>
column:
<telerik:DataGridTextColumn HeaderText="Name" >
<telerik:DataGridTextColumn.CellContentTemplate>
<DataTemplate>
<Label Text="{Binding Name}"/>
</DataTemplate>
</telerik:DataGridTextColumn.CellContentTemplate>
</telerik:DataGridTextColumn>
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.
When a Picker is used in a CellEditTemplate, and when in edit mode, when I click on the arrow of the Picker - the picker does not open. It only opens of I click the text in the Picker.
<DataTemplate x:Key="template1">
<Picker ItemsSource="{Binding Item.Categories}" />
</DataTemplate>
<telerik:RadDataGrid x:Name="dataGrid"
AutoGenerateColumns="False">
<telerik:RadDataGrid.Columns>
<telerik:DataGridTextColumn PropertyName="Name" />
<telerik:DataGridTextColumn PropertyName="Category" CellEditTemplate="{StaticResource template1}" />
</telerik:RadDataGrid.Columns>
</telerik:RadDataGrid>
A work-around is to not use a Picker, but use a RadComboBox.