我想问一下:动态测量转换,这里是细节:
要求:使用考虑设置显示单位测量。 关注: - 只有基本(中性)单位测量将存储在数据库中,并且它被确定一次。
问题:
如何显示不同的单位测量(按照设置),考虑控件是否绑定到业务对象?
您的帮助将不胜感激。谢谢
ikadewi
答案 0 :(得分:0)
如果我正确地理解了您的问题(您有点模糊......),您希望以一种方式存储测量数据,但是让用户可以选择以不同的方式显示它(使用不同的单位)。您没有指定您正在使用的技术/语言环境,但是(至少)有一种非常简单的方法:创建转换器类。
如果你的测量数据是长度,以毫米为单位,这里有一些伪C#骨架代码。您可以想出如何使用相同的方法来测量任何内容,但是您想要显示它:
class LenghtConverter {
double ToCentimeters(double millimeters) {
// 1 centimeter = 10 millimeters
return millimeters / 10;
}
double ToInches(double millimeters) {
// 1 inch = 25.4 millimeters
return millimeters / 25.4
}
// You get the drift. Add whatever conversions you need. If you wish,
// you can return strings instead of numbers, and append the unit
// signature as well.
}
现在,在您的网格中,您可以使用某种表示语法显示数据。我正在做一些事情来给你一个想法,因为我进入ASP.NET的语法非常相似。希望你能原谅我=)
而不仅仅是
<%= MyMeasurement.Data %>
以存储方式显示测量数据,用
输出<%= LenghtConverter.ToInches(MyMeasurement.Data) %>
将以英寸显示结果。
如果你实际上正在使用C#(或者我认为是VB.NET),那么你可能想要使用一种名为扩展方法的.NET 3.5中的一个很好的功能。这样可以让你输出更酷,更简化的语法
<%= MyMeasurement.Data.ToInches() %>