我有一个DataGridView(.NET winforms)绑定到一个集合。其中一个字段是以英尺存储的距离。但是,网格需要能够以英尺或米为单位显示(但始终以英尺为单位),具体取决于系统设置。我该怎么做呢?感觉好像我需要使用CellParsing事件将用户输入的值转换为英尺(如果显示设置为米)。而且,如果显示设置为米,我还需要使用CellFormatting事件将显示的值转换为米。这听起来是对的还是有一个更简单的方法?如何实现可以以不同单位显示的DataGridView列?
0
A
回答
1
将E以添加适用的计算财产的最简单方法:
[DisplayName("Distance (feet)")]
public decimal DistanceFeet {get;set;}
[DisplayName("Distance (metres)")]
public decimal DistanceMetres {
get { return FeetToMetres(DistanceFeet); }
set { DistanceFeet = MetresToFeet(value); }
}
就个人而言,我也用米的主设备,但是,这只是我;)
现在只是数据绑定要么,或显示/隐藏列,如您方便。
1
为什么你不在数据模型中包含这种逻辑?
这样
class SomeDataModel : DataModelBase {
public SomeEntityType Entity { get; private set; }
public float Distance {
get {
return MetrixConvertionHelper.ConvertAccordingToSistemSettings(this.Entity.DistanceInFeets);
}
set {
this.Entity.DistanceInFeets = MetrixConvertionHelper.ConvertDistanceBack(value);
}
}
}
其中MetrixConvertionHelper.ConvertAccordingToSistemSettings(float)
- 是你的助手皈依功能,SomeDataModel
- 是数据模型类,DistanceInFeets
- 你的实体类型的原始属性,通过数据模型包裹,并MetrixConvertionHelper.ConvertDistanceBack(float)
- 是oposite helper方法,其当前单位转换为千丈
相关问题
- 1. jqplot可以在不同的位置显示不同系列的传说吗?
- 2. 如何更改列值以显示绑定DataGridView中的不同值?
- 3. 以不同的格式显示列表
- 4. 如何实现,可以显示法语字符
- 5. 总和乘以两个不同表中的值,然后在DataGridView的列显示
- 6. 如何以位为单位显示NSData的内容?
- 7. datagridview中可以有两个不同类型的链接列吗?
- 8. 结果以单列显示
- 9. 我可以实现自定义表格单元格,它可以适用于tableview中的不同列类型Javafx
- 10. 如何以以下方式显示块的排列方式可以有最多两种不同的颜色
- 11. 如何实现可以倒回的OutputStream?
- 12. 可可:NSview可以单独显示吗?
- 13. 以相同的实际尺寸显示不同的字体?
- 14. 如何在android中以不同行显示具有不同列大小的TableLayout
- 15. 是否可以在DataGridView int列中显示空字符串而不是0?
- 16. 如何实现睡眠以显示图像的幻灯片
- 17. DataGridView不显示实现ICustomTypeDescriptor的对象的合适对象
- 18. 我如何可以显示相同的文件扩展名不同的图标
- 19. 如何从以下示例实现AsyncTask?
- 20. 以每周为单位显示数据
- 21. 如何以MB为单位显示整个mongo db的大小
- 22. 何时可以$(document).width()和$(window).width()显示不同的值?
- 23. 单个LINQ查询可以实现吗?
- 24. MATLAB中相同图像的大小可以以不同的方式显示吗?
- 25. 如何实现以下散列
- 26. Android时间戳以分钟和秒为单位实时显示
- 27. 以BaseLanguage类实现可序列化
- 28. 如何在Fragment实现中显示不同的活动?
- 29. 我如何可以显示UNIXTIME上的图表作为实时
- 30. 如何知道Unicode字符的首选显示宽度(以列为单位)?
也...不确定关于winforms绑定,但在WPF绑定中,我们可以使用IValueConverter用于这样的事情 - 也许winforms绑定具有某种等效 –