Hi Team,
I understand that a column will sort alpha when DataType String, and numerically when DataType Int, Double.
Is there a way for me to change my DataType string to Int in my SortCommand EventHandler? (I need to have column initially as DataType String for values <10, I display '< 10'. How can I make this column sort numerically?
Here is my current SortCommand Event Handler and my Initial RadGrid Sort settings
I understand that a column will sort alpha when DataType String, and numerically when DataType Int, Double.
Is there a way for me to change my DataType string to Int in my SortCommand EventHandler? (I need to have column initially as DataType String for values <10, I display '< 10'. How can I make this column sort numerically?
Here is my current SortCommand Event Handler and my Initial RadGrid Sort settings
public virtual void AssignSortSettingsAndSortCommandEvent() { GridAdapter.AllowSorting = GlobalConstantsSharedWebUI.RadControls.RadGridAllowSorting; GridAdapter.MasterTableView.SortExpressions.AllowNaturalSort = GlobalConstantsSharedWebUI.RadControls.AllowNaturalSort; GridAdapter.AddGridSortCommandEventHander(OnGridSortCommand); } public virtual void OnGridSortCommand(object source, Telerik.Web.UI.GridSortCommandEventArgs e) { GridSortExpression sortExpr = new GridSortExpression(); var radGrid = (source as RadGrid); var col = radGrid.MasterTableView.GetColumn(string.Concat(e.SortExpression, "_UniqueName")) as GridBoundColumn; col.DataFormatString = "{0:N}"; col.DataType = typeof(Double); switch (e.OldSortOrder) { case GridSortOrder.None: sortExpr.FieldName = e.SortExpression; sortExpr.SortOrder = GridSortOrder.Descending; e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr); break; case GridSortOrder.Ascending: sortExpr.FieldName = e.SortExpression; sortExpr.SortOrder = radGrid.MasterTableView.AllowNaturalSort ? GridSortOrder.None : GridSortOrder.Descending; e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr); break; case GridSortOrder.Descending: sortExpr.FieldName = e.SortExpression; sortExpr.SortOrder = GridSortOrder.Ascending; e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr); break; } e.Canceled = true; radGrid.Rebind(); }