2013-01-05 13 views
1

我在Asp.Net(C#)中有一個簡單的表單,用戶在其中輸入他的詳細信息。詳細信息包括用戶及其單位的總土地面積(公頃,米,英尺等)。這個細節被保存到Sql數據庫中。這個細節應該在gridview中顯示。我已經做到了這一點,但我的問題是,土地面積將顯示在一個共同的單位(公頃)。限制是它應該在從數據庫獲取提交的數據時進行轉換。有沒有人有解決方案。如何通過轉換爲普通單元來顯示陸地區域到gridview

+0

分享您的代碼,並告訴別人你已經嘗試過的.. –

+0

我只是從數據庫中獲取數據,並將其顯示成gridview由一個簡單的存儲過程。但我不知道h通過應用邏輯將區域轉換爲特定的單位以在GridView中顯示。 – Himanshu

+0

這是簡單的乘法或除法。您可以在SQL中選擇ad hoc或使用存儲過程來完成此操作,或者您可以在填充網格視圖之前在C#中執行此操作。那麼真正的問題在哪裏?你如何填寫數據?你如何獲得數據? Linq to SQL,Linq to Entities,裸露Ado.NET? – CSharper

回答

1

您的方案最簡單的選項是:

  • 直接在數據庫中創建一個計算列,如果你的數據庫系統支持它們(如SQL Server會),並從存儲過程返回它

  • 修改存儲過程在SQL Server中有一個case語句讀取數據,因此它的轉化(例如

    情況下t.unit
           當 '公頃' 然後t.area
           當 'sqmeter' 然後t.area/10000
           當 'sqfeet' 然後t.area/XXXX

  • 在數據表中添加一列並在綁定數據之前計算該值(數據表也可以具有計算列,但公式語法非常有限,因此它似乎更適合在C#中手動執行)

    table.Columns.Add(「AreaInHectare」);
    的foreach(在表VAR行){
           行[ 「AreaInHectare」] = GetAreaInHectare((十進制)行[ 「區」],(字符串)行[ 「單位」];
    }

最有可能你會喜歡運用一些四捨五入也切斷不必要的小數。

+0

thnx答案讓我試試 – Himanshu