115 lines
2.0 KiB
C#
115 lines
2.0 KiB
C#
using System;
|
|
using CPF.ReoGrid.Core;
|
|
|
|
namespace CPF.ReoGrid.DataFormat
|
|
{
|
|
internal class GeneralDataFormatter : IDataFormatter
|
|
{
|
|
public string FormatCell(Cell cell)
|
|
{
|
|
object innerData = cell.InnerData;
|
|
bool flag = false;
|
|
double num = 0.0;
|
|
bool flag2 = innerData is int;
|
|
if (flag2)
|
|
{
|
|
num = (double)((int)innerData);
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
bool flag3 = innerData is double;
|
|
if (flag3)
|
|
{
|
|
num = (double)innerData;
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
bool flag4 = innerData is float;
|
|
if (flag4)
|
|
{
|
|
num = (double)((float)innerData);
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
bool flag5 = innerData is long;
|
|
if (flag5)
|
|
{
|
|
num = (double)((long)innerData);
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
bool flag6 = innerData is short;
|
|
if (flag6)
|
|
{
|
|
num = (double)((short)innerData);
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
bool flag7 = innerData is decimal;
|
|
if (flag7)
|
|
{
|
|
num = (double)((decimal)innerData);
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
bool flag8 = innerData is string;
|
|
if (flag8)
|
|
{
|
|
string text = (string)innerData;
|
|
bool flag9 = text.StartsWith(" ") || text.EndsWith(" ");
|
|
if (flag9)
|
|
{
|
|
text = text.Trim();
|
|
}
|
|
flag = double.TryParse(text, out num);
|
|
bool flag10 = flag;
|
|
if (flag10)
|
|
{
|
|
cell.InnerData = num;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
bool flag11 = flag;
|
|
string result;
|
|
if (flag11)
|
|
{
|
|
bool flag12 = cell.InnerStyle.HAlign == ReoGridHorAlign.General;
|
|
if (flag12)
|
|
{
|
|
cell.RenderHorAlign = ReoGridRenderHorAlign.Right;
|
|
}
|
|
result = Convert.ToString(num);
|
|
}
|
|
else
|
|
{
|
|
result = null;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public string[] Formats
|
|
{
|
|
get
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public bool PerformTestFormat()
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|