Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) Me.WebHierarchicalDataGrid1.GroupingSettings.GroupedColumns.Add("LastName") Dim setting As New ColumnGroupingSetting() setting.ColumnKey = "LastName" setting.GroupComparer = New AlphabetGroupComparer() Me.WebHierarchicalDataGrid1.GroupingSettings.ColumnSettings.Add(setting) End Sub Public Class AlphabetGroupComparer Inherits GroupEqualityComparer(Of String) Public Overloads Overrides Function Equals(ByVal x As String, ByVal y As String) As Boolean If x.Substring(0, 1).ToLower() = y.Substring(0, 1).ToLower() Then Return True End If Return False End Function Public Overloads Overrides Function GroupName(ByVal value As String) As String If value.Length = 0 Then Return String.Empty End If Return value.Substring(0, 1).ToUpper() End Function End Class