Won't Fix
Last Updated: 29 Aug 2019 06:27 by ADMIN
ADMIN
Stefan Nenchev
Created on: 04 Dec 2017 11:47
Category: DataGrid
Type: Bug Report
1
DataGrid: [Android][UWP] Some languages are not properly rendered by SkiaSharp elements
Workaround for GroupHeaderTemplate:

<grid:RadDataGrid.GroupHeaderTemplate>
    <DataTemplate>
        <Label Text="{Binding Group.Key}"/>
    </DataTemplate>
</grid:RadDataGrid.GroupHeaderTemplate>


Workaround for column:

<telerikDataGrid:DataGridTemplateColumn HeaderText="Name" >
    <telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
        <DataTemplate>
            <Label Text="{Binding Name}"/>
        </DataTemplate>
    </telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
</telerikDataGrid:DataGridTemplateColumn>

 
UPDATE:
We have decided not to change the code of the RadDataGrid component in this regard. The root reason for this is the fact that the Skia APIs used to draw the text does not support automatic character fallback. To overcome this issue, people from Skia team have two suggestions. We have tested them out and none of them is applicable for the case of the DataGrid.
First approach slows down the performance of the component to a point where the DataGrid becomes unusable.
Second approach does not fix the problem in all cases.
Having this in mind the best approach for our customers in such cases is to use a TemplateCell with a Label inside it only for the column(s) where they expect symbols to occur. The Xamarin.Forms.Label supports automatic character fallback hence it should properly handle all cases.
3 comments
ADMIN
Pavel R. Pavlov
Posted on: 29 Aug 2019 06:27
UPDATE:
We have decided not to change the code of the RadDataGrid component in this regard. The root reason for this is the fact that the Skia APIs used to draw the text does not support automatic character fallback. To overcome this issue, people from Skia team have two suggestions. We have tested them out and none of them is applicable for the case of the DataGrid.
First approach slows down the performance of the component to a point where the DataGrid becomes unusable.
Second approach does not fix the problem in all cases.
Having this in mind the best approach for our customers in such cases is to use a TemplateCell with a Label inside it only for the column(s) where they expect symbols to occur. The Xamarin.Forms.Label supports automatic character fallback hence it should properly handle all cases.
Stefan
Posted on: 02 Apr 2019 08:36
Workaround for GroupHeaderTemplate:

    <grid:RadDataGrid.GroupHeaderTemplate>
        <DataTemplate>
            <Label Text="{Binding Group.Key}"/>
        </DataTemplate>
    </grid:RadDataGrid.GroupHeaderTemplate>

Workaround for column:

<telerikDataGrid:DataGridTemplateColumn HeaderText="Name" >
    <telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
        <DataTemplate>
            <Label Text="{Binding Name}"/>
        </DataTemplate>
    </telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
</telerikDataGrid:DataGridTemplateColumn>
ADMIN
Stefan Nenchev
Posted on: 04 Dec 2017 11:49
A workaround is to set a template of your own with a Label element. For example instead of setting HeaderText:

 <telerikDataGrid:DataGridTextColumn.HeaderContentTemplate>
                        <DataTemplate>
                            <Label Text="your text"></Label>
                        </DataTemplate>
                    </telerikDataGrid:DataGridTextColumn.HeaderContentTemplate>