2009-04-17 58 views
1

我正在爲需要在datagridview中的每一行執行一次計算而苦苦掙扎。我想要的是通過具有兩個日期時間列的datagridview中的所有行。一個代表LogInTime,另一個代表LogOutTime。我希望獲取在datagridview中顯示的行的所有登錄次數和登出次數之間的小時和分鐘總數。關於如何實現這個的任何建議?使用DataGridView中的DateTime列計算總小時數

回答

1

什麼是你的DataGridView綁定?這樣的計算對於使用Linq表達式或DataTable.Compute()調用的代碼將更容易完成。

一個例子LINQ表達式:

var minutes = listOfLogins.Sum(l => l.LogOutTime.Subtract(l.LoginTime).TotalMinutes); 
Console.WriteLine("{0}h, {1}m", (int)(minutes/60), minutes % 60); 
+0

它綁定到一個DataTable。不幸的是,由於項目規範,Linq不是一個選項。我認爲你有一個很好的建議,我會嘗試修改我們的代碼,看看它是如何工作的。謝謝! – Henric 2009-04-17 08:52:46

1

您可以減去另一個日期,以得到一個時間跨度單元,它會給你你需要的數據。

您將需要在源數據中計算此值,或者在行數據綁定事件中可以獲取數據並進行計算。