|
/**
* @Name ListViewDoubleSorter.cs
* @Purpose Sorting for doubles
* @Date 19 April 2005, 08:06:45
* @Author S.Deckers
* @Description
*/
namespace Whoua.Src.Sorting
{
#region -- Using directives --
using System;
using System.Windows.Forms;
using d = System.Diagnostics.Debug;
#endregion
/// <summary date="18-04-2005, 08:04:33" author="S.Deckers">
/// Implements sorting for the 'double'-type
/// </summary>
class ListViewDoubleSorter : ListViewSorter
{
/// <summary>
/// Sorting
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public override int OnSort(object x, object y, System.Windows.Forms.SortOrder sortOrder)
{
System.Windows.Forms.ListViewItem.ListViewSubItem left = GetLeft( x);
System.Windows.Forms.ListViewItem.ListViewSubItem right = GetLeft( y);
int res = HandleEmptyStrings( left, right, sortOrder);
if( res != 0)
{
return( res);
}
Double result = Double.Parse( left.Text) - Double.Parse( right.Text);
if( result > 0)
{
res = 1;
}
else if( result < 0)
{
res = -1;
}
else
{
res = 0;
}
if( sortOrder == SortOrder.Descending)
{
res *= -1;
}
return( res);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.