How to Underline Text in Header in .NET MAUI DataGrid?
In this article, we will show you how to underline text in header in .NET MAUI DataGrid.
Approach 1
You can define the style for the SfDataGridHeaderLabel in the ResourceDictionary.
xaml
The below code ensures that all header labels in the SfDataGrid will display their text underlined, providing a consistent and customized appearance.
<ContentPage.BindingContext>
<local:EmployeeViewModel x:Name="viewModel"/>
</ContentPage.BindingContext>
<ContentPage.Resources>
<ResourceDictionary>
<Style TargetType="syncfusion:SfDataGridHeaderLabel">
<Setter Property="TextDecorations"
Value="Underline" />
</Style>
</ResourceDictionary>
</ContentPage.Resources>
Approach 2
You can define a header template to customize the appearance of the column header using a DataTemplate.
xaml
<ContentPage.BindingContext>
<local:EmployeeViewModel x:Name="viewModel" />
</ContentPage.BindingContext>
<syncfusion:SfDataGrid x:Name="sfGrid"
GridLinesVisibility="Both"
AutoGenerateColumnsMode="None"
HeaderGridLinesVisibility="Both"
ColumnWidthMode="Auto"
ItemsSource="{Binding Employees}">
<syncfusion:SfDataGrid.Columns>
<syncfusion:DataGridNumericColumn MappingName="EmployeeID"
Format="#">
<syncfusion:DataGridNumericColumn.HeaderTemplate>
<DataTemplate>
<Label Text="Employee ID" HorizontalOptions="Center" VerticalOptions="Center"
TextDecorations="Underline" />
</DataTemplate>
</syncfusion:DataGridNumericColumn.HeaderTemplate>
</syncfusion:DataGridNumericColumn>
<syncfusion:DataGridTextColumn MappingName="Name"
HeaderText="Employee Name" />
<syncfusion:DataGridTextColumn MappingName="Title"
HeaderText="Designation" />
<syncfusion:DataGridDateColumn MappingName="HireDate"
HeaderText="Hire Date" />
</syncfusion:SfDataGrid.Columns>
</syncfusion:SfDataGrid>
Approach 3
You could achive this in the code behind with custom HeaderCellRenderer.
C #
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
sfGrid.CellRenderers.Remove("ColumnHeader");
sfGrid.CellRenderers.Add("ColumnHeader", new DataGridHeaderCellRendererExt());
}
}
public class DataGridHeaderCellRendererExt : DataGridHeaderCellRenderer
{
protected override void OnInitializeDisplayView(DataColumnBase dataColumn, SfDataGridContentView? view)
{
base.OnInitializeDisplayView(dataColumn, view);
if (view!.Content is Grid headerView)
{
var label = headerView.Children.FirstOrDefault(child => child is SfDataGridHeaderLabel);
if (label != null && label is SfDataGridHeaderLabel newLabel)
{
newLabel.TextDecorations = TextDecorations.Underline;
}
}
}
}
Take a moment to explore this documentation, where you can find more information about Syncfusion .NET MAUI DataGrid (SfDataGrid) with code examples. Please refer to this link to learn about the essential features of Syncfusion .NET MAUI DataGrid (SfDataGrid).
Conclusion
I hope you enjoyed learning on how to underline text in header in .NET MAUI DataGrid.
You can refer to our .NET MAUI DataGrid feature tour page to know about its other groundbreaking feature representations and Documentation, and how to quickly get started for configuration specifications. You can also explore our .NET MAUI DataGrid example to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac or feedback portal. We are always happy to assist you!