2013-04-15 156 views
0

我在我的datagridview中有一個名爲'Total'的列,此列需要執行計算。DataGridView列計算

我在datagridview的這些列:

  1. '工作':一個1或2的值(1表示正常時和2級的裝置隨着時間的推移)
  2. 'hoursSpent':雙類型值(例如5.40)
  3. 'normalTimeRate':雙類型值(例如$ 3.50)▲
  4. 'overTimeRate':雙類型值(例如$ 4.50)
  5. '總':文本

'...'中的名稱是該列的數據屬性名稱中的名稱。 (hoursSpent * normalTimeRate或OverTimeRate)(所以,如果「工作」列有'1'值,它會計算(hoursSpent * normalTimeRate))。

CODE:http://pastebin.com/u1A1sHU1

+0

您是否使用代碼來填充的DataGridView?如果是這樣,那麼更新你的問題來顯示它。 –

+0

謝謝,我已經更新了這個問題,包括我的代碼。希望我得到一些幫助因爲我卡住了 – tommy

回答

1

您可以在SELECT語句中執行 「總計」 的計算如下:

sSQL = "SELECT B.laborHours_id, " & _ 
       "A.labor_id, " & _ 
       "A.first_name + ' ' + A.last_name as name, " & _ 
       "B.project_id, " & _ 
       "B.location_id, " & _ 
       "B.dates, " & _ 
       "B.worked, " & _ 
       "B.hoursSpentOnDay, " & _ 
       "B.normalTimeRate, " & _ 
       "B.overTimeRate, " & _ 
       "B.hoursSpentOnDay * IIf(B.worked = 1, B.normalTimeRate, B.overTimeRate) As Total" & _ 
     "FROM tblLabor A, tblLaborHours B " & _ 
     "WHERE A.labor_id = B.labor_id " 
+0

我忘了和&_之後Total並修改了字符串。這是一個彙編錯誤是不是? –

+0

它的工作,但它只是overTimeRate計算。它似乎是忽略normalTimeRate ... – tommy

+0

你確定normalTimeRate = 1? –