|
<GridEvents OnActionBegin="OnActionBegin" TValue="Order"></GridEvents>
|
|
public class CustomAdaptor : DataAdaptor
{
public override object Read(DataManagerRequest dm, string key = null)
{
IEnumerable<Order> DataSource = Orders;
...
if (dm.Sorted != null && dm.Sorted.Count > 0)
{
// handle your custom Sorting action here
if (dm.Sorted[0].Name == "Alphanumeric")
{ }
DataSource = DataOperations.PerformSorting(DataSource, dm.Sorted);
}
...
return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count } : (object)DataSource;
}
}
|
|
if (dm.Sorted != null && dm.Sorted.Count > 0)
{
// Sorting
if (dm.Sorted[0].Name == "Alphanumeric")
{
dm.Sorted[0].Name = "Numeric"; //Change the column name to Numeric when sorting Alphanumeric column
}
if (dm.Sorted[0].Direction == "ascending")
{
DataSource = DataSource.OrderBy(X => ((IDictionary<string, object>)X)[dm.Sorted[0].Name]);
}
else
{
DataSource = DataSource.OrderByDescending(X => ((IDictionary<string, object>)X)[dm.Sorted[0].Name]);
}
}
|
|
public override object Read(DataManagerRequest dm, string key = null)
{
IEnumerable DataSource = Orders;
if (dm.Sorted != null && dm.Sorted.Count > 0)
{
if (dm.Sorted[0].Name == "Alphanumeric")
{
dm.Sorted[0].Name = "Numeric"; //Change the column name to Numeric when sorting Alphanumeric column
}
DataSource = DynamicObjectOperation.PerformSorting(DataSource.AsQueryable(), dm.Sorted);
}
...
}
|