如何通过转换为一个共同单位将土地面积显示为网格视图

时间:2013-01-05 11:32:27

标签: c# asp.net

我在Asp.Net(C#)中有一个简单的表单,用户可以在其中输入他的详细信息。细节包括用户的总土地面积及其单位(公顷,米,英尺等)。此详细信息保存到Sql数据库中。此细节应显示在gridview中。我已经做到了这一点,但我的问题是土地面积将以公共单位(公顷)显示。限制是它应该在从数据库获取提交的数据时进行转换。有没有人有解决方案。

1 个答案:

答案 0 :(得分:1)

您的方案的简单选项是:

  • 如果数据库系统支持它们(例如SQL Server支持),则直接在数据库上创建计算列,并从存储过程返回

  • 修改用于获取数据的存储过程,以便进行转换(例如,使用SQL Server中的case语句

    案件t.unit
    当'公顷'然后t.area
    当'sqmeter'然后t.area / 10000
    当'sqfeet'然后t.area / xxxx

  • 在数据表中添加一列并在绑定数据之前计算该值(数据表也可以有计算列,但公式语法非常有限,所以在C#中手动执行它似乎更好)< / p>

    table.Columns.Add( “AreaInHectare”);
    foreach(表格中的var行){
    row [“AreaInHectare”] = GetAreaInHectare((十进制)行[“Area”],(string)row [“Unit”];
    }

很可能你也想要应用一些舍入来切断不需要的小数位。