This is a migrated thread and some comments may be shown as answers.

Office2013 theme - Header with column groups: the text alignment is not taking into account

5 Answers 151 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Patrick
Top achievements
Rank 2
Iron
Iron
Iron
Patrick asked on 12 Sep 2018, 01:01 PM

Hello,

This was working in the previous version, but not in R3 2018, with the Office2013 theme.

The column is defined as:

<tk:GridViewDataColumn ColumnGroupName="RoleGroup"
                       DataMemberBinding="{Binding [1]}"
                       Header="1"
                       HeaderTextAlignment="Center"
                       IsGroupable="False"
                       UniqueName="Set1Role"
                       Width="35">
  <tk:GridViewDataColumn.CellTemplateSelector>
    <volley:VolleySetPlayerRoleTemplateSelector NoSet="1" />
  </tk:GridViewDataColumn.CellTemplateSelector>
</tk:GridViewDataColumn>

 

And the text in the header is left aligned, as show in the attached screen shot.

5 Answers, 1 is accepted

Sort by
0
Vicky
Telerik team
answered on 14 Sep 2018, 01:48 PM
Hi Patrick,

I tried to reproduce your problem, using the code snippet you attached, however I did not manage to do so completely.
I can assure you that there is no change since the previous version, regarding RadGridView's HeaderCell style, which means that everything should work and look the same way it did.

I have created a sample project for you, which uses our RadGridView with one column group and three sub columns. One of the sub columns has a CellTemplateSelector, like in your example and the column that groups it with the other two sub columns has its HeaderTextAlignment property set to Center.

Can you please run that project and compare it with yours, and if there are any differences, modify the one that I am attaching, so we can unify them and find the best solution for you?
 
Regards,
Vicky
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Patrick
Top achievements
Rank 2
Iron
Iron
Iron
answered on 14 Sep 2018, 03:40 PM

Hi Vicky,

Thank you for your answer and test project.

I've tried to reproduce the problem with your project, but I can't. I've also tris to solve the problem on my side by simplifying this part of the UI, removing the template selector, the custom styles, etc, but the problem still shows.

The main difference between your project and mine is that, in my case, the grid view is defined as a custom control. After copying the simplified XAML code to the right place, the text alignment is working correctly.

So I think that the culprit is the use of the grid view in a custom control.

If you want, I can create a private ticket and give you access to the source code, but it's huge and written in RemObjects Oxygene.

Tell me if I should give you more information.

Regards

0
Vicky
Telerik team
answered on 18 Sep 2018, 09:50 AM
Hello Patrick,

In order to better assist you, could you please provide more detailed information on:
  • what custom control do you use RadGridView in - does it inherit RadGridView and does it have any custom logic that may cause this unexpected behavior
  • what do you mean by simplified XAML code and right place, as if any custom styles have been defined, there is a big chance that they are the cause of the problem

If it is possible for you, you can try to isolate the problem in a project, similar to the sample one I created for you.

Thank you in advance for your cooperation on the matter.

Regards,
Vicky
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Patrick
Top achievements
Rank 2
Iron
Iron
Iron
answered on 18 Sep 2018, 12:06 PM

Hello Vicky,
I have a small test case that shows the problem. As I cannot upload it, I will now create a ticket to show it.

0
Dinko | Tech Support Engineer
Telerik team
answered on 20 Sep 2018, 11:46 AM
Hi Patrick,

I have already replied to your ticket in the other thread. I will share the resolution here so that the community can benefit.

After further investigate this I manage to found the reason behind this. The HeaderTextAlignment property relies on a method that comes from the framework: ReadLocalValue. This method should return the value that was locally set (if a local value was set). And this is where the problem occurs.

For some reason when any framework element is placed inside a DataTemplate (such as a Border) the returned value of the ReadLocalValue method is UnsetValue. The RadGridView relies on that this property is actually set (otherwise the text alignment should come from another place, say the TextBlock.TextAlignment attached property of a parent). This faulty value UnsetValue is the reason that some code is not executed and it results in the text alignment not getting correctly set. This behavior is more framework specific related. But still, we will consider adding additional logic for improving the functionality in such case.

I manage to found a workaround which you could use. Place the RadGridView from the DataTemplate inside a UserControl and place that user control inside the DataTemplate. The attached project also demonstrates this. This resolves the UnsetValue issue.

Regards,
Dinko
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Tags
GridView
Asked by
Patrick
Top achievements
Rank 2
Iron
Iron
Iron
Answers by
Vicky
Telerik team
Patrick
Top achievements
Rank 2
Iron
Iron
Iron
Dinko | Tech Support Engineer
Telerik team
Share this question
or