Consider these classes:
public class Tubo
{
private DateTime date;
public Tubo(DateTime date)
{
this.date = date;
}
[TypeConverterAttribute(typeof(TuboConverter))]
public DateTime Date
{
get
{
return date;
}
set
{
date = value;
}
}
}
public class TuboConverter: TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
return base.CanConvertFrom(context, sourceType);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
return base.CanConvertTo(context, destinationType);
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
{
return base.ConvertFrom(context, culture, value);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
DateTime x = (DateTime)value;
return x.AddHours(-1).ToString();
}
}
TypeConverter provided as the attribute is never used when I use BindingList<Tubo> as a datasource to XtraGrid. I believe it should be, just like DataGridView does.
Otherwise default .net behaviour is broken and one looses any chance to format the value.