2015-10-12 16 views
-1

SAMPLE DATABASE DESIGN如何讓所有的日期時間數據的時間跨度在我的datagridview

場景去的樣子,上面這;我有一個數據庫,我在我的datagridview上顯示。我已經添加了每行的時間範圍(timeIn and timeOut)並將其存儲在文本框中。現在,我想僅使用該文本框添加並顯示每行的所有總時間片(,其中我已經有每行timeIn和timeOut的時間範圍)。

我想我的例子是錯誤的,應該假設所有的emp_Code只有'1'作爲它的值在所有三行。問題摘要:如何獲得row1的時間範圍+ row2的時間範圍+第3行的時間範圍,並將其顯示在文本框中。 '我正在考慮使用循環,但是我不知道如何去做。這就是爲什麼在這裏發佈。

enter image description here

這是我的前端,我沒有爲這個後端呢。當我按Compute時,它將顯示datagridview中所有數據的總小時數(timeIn和timeOut的時間跨度),並將總時間分解爲日班和夜班

+0

我不認爲我明白你的問題。如果您將它們存儲在'datetime'中,則可以將這些值作爲DateTime並使用TimeOfDay屬性來獲取?你可以請更具體嗎? –

+0

@SonerGönüloooopppsss。我想我的例子是錯誤的,可以說所有員工代碼都是1,其中有相同的數據。現在,我想獲得總時間跨度(即row1 + row2 + row3的時間跨度),並將其顯示在一個文本框中。 – pruuylan

+0

@Fabjan我已經完成了計算每行timein和timeout的時間範圍。 – pruuylan

回答

1

您有時間和時間了,所以創建時間跨度和運行一個循環:

TimeSpan timeSpan = new TimeSpan(0); 
// for each data grid row calculate and add the timespan: 
    timeSpan =+ time_Out.Subtract(time_In); 
// 
+0

它可以在循環上工作嗎? – pruuylan

+0

是的。繼續嘗試。我只是表示循環,因爲我沒有你的代碼。 – Gustav

+0

我已經嘗試過了,但因爲它在datagridview上,所以在獲取timeIn和timeOut時遇到了麻煩。 這裏是代碼先生, 'DateTime time_Out = Convert.ToDateTime(datagridAttendance.CurrentRow.Cells [「timeIn」]);'' 'DateTime time_In = Convert.ToDateTime(datagridAttendance.CurrentRow.Cells [「timeOut」]);' – pruuylan

0

根據您所提供

你需要通過一個網格的每一行進行迭代的信息。你必須這樣做:

DateTime TotalTimeOfAllRows; 

for (c= 0; c < DataGridView1.Rows.Count; c++) 
{ 
    DateTime timeIn = DataGridView1.Rows[c].FindControl("txtTimeIn").Text; 
    DateTime timeOut = DataGridView1.Rows[c].FindControl("txtTimeOut").Text; 
    // Here Compute Datetime TotalTime 
    DataGridView1.Rows[c].FindControl("txtTotalTime").Text = TotalTime.ToString(); 

    // Here Add TotalTime to TotalTimeOfAllRows  

} 
//If TotalTimeOfAllRows Textbox is in Datagridview too 
DataGridView1.Rows[DataGridView1.Rows.Count-1].FindControl("txtTotalTimeOFAllRows").Text = TotalTimeOfAllRows.ToString(); 
+0

請問您的代碼是否適用於您的先生? – pruuylan

+0

是按照我自己的要求調整它的一點點。 –

+0

FindControl是什麼意思,先生? – pruuylan

相關問題