Category / Section
How to sort a column with numeric data in GridDataBoundGrid?
1 min read
To sort the column with numeric data, it can be handled by customizing the sorting with IComparer. In this sample, sorting comparison can be done by IntComparer which is derived from IComparer.
Sorting behavior might be single click, double click or none can be handled by SortBehaviour. Here, a helper class `CustomSortHelper` is used set the custom comparer for the columns.
this.gridDataBoundGrid1.SortBehavior = GridSortBehavior.SingleClick; CustomSortHelper sortHelper = new Customsorthelper(this.gridDataBoundGrid1); sortHelper.SetUnboundColumn("Col3", values, new IntComparer());
Me.gridDataBoundGrid1.SortBehavior = GridSortBehavior.SingleClick Dim sortHelper As New Customsorthelper(Me.gridDataBoundGrid1) sortHelper.SetUnboundColumn("Col3", values, New IntComparer())
`IntComparer` derived from the IComparer which can be used for compare the x and y indices.
public class IntComparer : IComparer { public int Compare(object x, object y) { if (x == null && y == null) return 0; else if (x == null) return -1; else if (y == null) return 1; else return int.Parse(x.ToString()) - int.Parse(y.ToString()); } }
Public Class IntComparer Implements IComparer Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer If x Is Nothing AndAlso y Is Nothing Then Return 0 ElseIf x Is Nothing Then Return -1 ElseIf y Is Nothing Then Return 1 Else Return Integer.Parse(x.ToString()) - Integer.Parse(y.ToString()) End If End Function End Class
Sample
C#: Sort a column
VB: Sort a column