Issue description:
When the grid contains, after filtering out ,no rows the "Empty template" is not used/displayed.
Tested on Windows, with "Telerik_UI_for_dot_NET_Maui_7_1_0_Dev\Examples\ControlsSamples", Example "Empty Template".
Steps to reproduce:
Expected behavior:
Display/Use "Empty template" when there are no visible records.
...or to make it more consistent with the current implementation - add new option "ItemsSourceNullOrEmptyOrFilteredOut" to the enum "EmptyContentDisplayMode":
namespace Telerik.Maui.Controls;
//
// Summary:
// Defines the modes for displaying empty content.
public enum EmptyContentDisplayMode
{
//
// Summary:
// Displays the empty content view only when the ItemsSource is null.
ItemsSourceNull,
//
// Summary:
// Displays the empty content view when ItemsSource is null or when the source is
// empty (has zero items).
ItemsSourceNullOrEmpty,
+ //
+ // Summary:
+ // Displays the empty content view when ItemsSource is null or when the source is
+ // empty (has zero items) or when all items are filtered out. (either by filter or by search)
+ ItemsSourceNullOrEmptyOrFilteredOut
}
Best regards,
Peter
For example we have set RowHeight to 26 with GridLineThickness = 1, GridLinesVisibility = Horizontal, and RowBackgroundStyle and AlternateRowBackgroundStyle with BorderThickness = 0.
The first row is 26px, the middle rows are 25px and the last row is 24px. So it seems the grid lines are included in the calculation of the RowHeight.
I want to strikethrough the text in the row based on a value.
i checked and the column cell content style DataGridTextCellAppearance class does not expose such property.
Begin editing the first cell firs column
Without closing the cell editor, scroll down to the last cell, the first cell should exit the viewport.
Start editing the last cell.
Scroll back up to the first cell
The content inside the first cell is missing.
The content should be there.
When using ImageButton inside a CellTemplate, the image does not display initially. When you resize the window image is displayed.
Workaround:
Use Image instead of ImageButton
Delegate aggregate descriptor does not update value in the UI when adding/removing item.
The behavior also happens with the property aggregate descriptor.
A NullReferenceException is thrown during the measure phase of a DataGridTextColumn when a CellRenderer is applied:
Object reference not set to an instance of an object.Currently, i can use the public method ScrollItemIntoView to scroll to an item in the DataGrid.
I noticed you have an internal method: ScrollColumnIntoView. Please make it public so I can use it to scroll to a specific column.
When setting GroupAggregatesAlignment NextToHeader and the column size mode is stretch or auto, the aggregates text in the group header is misaligned, part of the text enters in next column when data changes.
When the control is scrolled, some cell is edited or some other operation is applied, the text is displayed as expected.
When the cells are measured a NullReferenceException is thrown:
Telerik.Maui.Controls.DataGrid.DataGridTextCellArranger.PrepareTextPaintable(GridCellModel model, TextPaintable textPaintable)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.
I have been trying to get the DataGrid to work with Maui.Markup and I'm not finding a way to add a DataGrid to my View.
I would have expected I could add a DataGrid to the Children of Grid...but I'm not finding the right cast to allow that to happen, Grid.Children is expecting an IView.
Is this possible and I'm just missing something simple? Thanks!
I am using NavigationPages and Dependency Injection (for the Pages and ViewModels) to navigate (not AppShell).
<Grid RowDefinitions="*,100">
<telerik:RadDataGrid x:Name="grdRegisters"
RowHeight="50"
Style="{StaticResource ReadOnlyGridStyle}"
ItemsSource="{Binding Registers}"
SelectionStyle="{StaticResource SelectedRowBackgroundStyle}"
RowBackgroundStyle="{StaticResource RowBackgroundStyle}"
AlternateRowBackgroundStyle="{StaticResource AltRowBackgroundStyle}"
SelectedItem="{Binding SelectedRegister, Mode=TwoWay}">
<telerik:RadDataGrid.Columns>
<telerik:DataGridTemplateColumn HeaderText=""
SizeMode="Fixed"
Width="50">
<telerik:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate x:DataType="RegisterModel">
<Label FontFamily="FASolid"
HorizontalOptions="Center"
VerticalOptions="Center"
Text=""
IsVisible="{Binding IsCurrentRegister, Mode=OneTime}"/>
</DataTemplate>
</telerik:DataGridTemplateColumn.CellContentTemplate>
</telerik:DataGridTemplateColumn>
<telerik:DataGridTemplateColumn HeaderText="Shift Date">
<telerik:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate x:DataType="RegisterModel">
<Label Style="{StaticResource GridCellLabelStyle}"
Text="{Binding Date, Converter={StaticResource ToLocalTimeConverter}, StringFormat='{}{0:d}'}"/>
</DataTemplate>
</telerik:DataGridTemplateColumn.CellContentTemplate>
</telerik:DataGridTemplateColumn>
<telerik:DataGridTemplateColumn HeaderText="Shift Name">
<telerik:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate x:DataType="RegisterModel">
<Label Style="{StaticResource GridCellLabelStyle}"
Text="{Binding Shift.Name}"/>
</DataTemplate>
</telerik:DataGridTemplateColumn.CellContentTemplate>
</telerik:DataGridTemplateColumn>
<telerik:DataGridTemplateColumn HeaderText="Start Time">
<telerik:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate x:DataType="RegisterModel">
<Label Style="{StaticResource GridCellLabelStyle}"
Text="{Binding StartTime, Converter={StaticResource ToLocalTimeConverter}, StringFormat='{}{0:t}'}"/>
</DataTemplate>
</telerik:DataGridTemplateColumn.CellContentTemplate>
</telerik:DataGridTemplateColumn>
<telerik:DataGridTemplateColumn HeaderText="End Time">
<telerik:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate x:DataType="RegisterModel">
<Label Style="{StaticResource GridCellLabelStyle}"
Text="{Binding EndTime, Converter={StaticResource ToLocalTimeConverter}, StringFormat='{}{0:t}'}"/>
</DataTemplate>
</telerik:DataGridTemplateColumn.CellContentTemplate>
</telerik:DataGridTemplateColumn>
</telerik:RadDataGrid.Columns>
</telerik:RadDataGrid>
<HorizontalStackLayout Grid.Row="1">
<Button Text="Resume"
IsEnabled="{Binding SelectedRegister, Converter={StaticResource IsNotNullConverter}}"
Command="{Binding ResumeShiftCommand}"/>
<Button Text="Refresh"
Command="{Binding RefreshCommand}"/>
</HorizontalStackLayout>
</Grid>
On initial Refresh, all items are visible in the DataGrid
I navigate forward and then back (PopToRoot), the DataGrid appears empty, although the vertical scroll appears like there are items.
If I tap Refresh, items become visible, but only above the first fold.
If i resize the window vertically, items will appear and disappear depending on the height of the window. (see attached video)