01.
private
void
dateTimePicker1_ValueChanged(
object
sender, EventArgs e)
02.
{
03.
04.
sb =
new
StringBuilder();
05.
sb.Append(
"SELECT Human.HID,Human.FullName,WorkType.WorkTypeName, "
);
06.
sb.Append(
" Human.Telephone,Human.FirstDate,Humanschedule.Date,Humanschedule.HID, "
);
07.
sb.Append(
" Humanschedule.Time_IN , Humanschedule.Time_OUT"
);
08.
sb.Append(
" FROM Human,WorkType,Humanschedule"
);
09.
sb.Append(
" WHERE (Human.WID = WorkType.WID)"
);
10.
sb.Append(
" AND (Human.HID=Humanschedule.HID)"
);
11.
sb.Append(
" AND (Human.IsLeave='0')"
);
12.
sb.Append(
" AND (Humanschedule.Date=@Date)"
);
13.
14.
15.
string
sqlSearch;
16.
sqlSearch = sb.ToString();
17.
18.
com =
new
SqlCommand();
19.
com.Parameters.Clear();
20.
com.Parameters.Add(
"@Date"
, SqlDbType.DateTime).Value = dateTimePicker1.Value;
21.
com.CommandText = sqlSearch;
22.
com.CommandType = CommandType.Text;
23.
com.Connection = Conn;
24.
dr = com.ExecuteReader();
25.
if
(dr.HasRows)
26.
{
27.
DataTable dtHuman =
new
DataTable();
28.
dtHuman.Load(dr);
29.
30.
colName.DataPropertyName =
"Fullname"
;
31.
ColPosition.DataPropertyName =
"WorkTypeName"
;
32.
colTel.DataPropertyName =
"telephone"
;
33.
colStart.DataPropertyName =
"FirstDate"
;
34.
colIn.DataPropertyName =
"Time_IN"
;
35.
colOut.DataPropertyName =
"Time_OUT"
;
36.
dgvHumanList.DataSource = dtHuman;
37.
38.
dgvHumanList.DataSource = dtHuman;
39.
int
countdt = dtHuman.Rows.Count;
40.
41.
for
(
int
i = 0; i <= countdt - 1; i++)
42.
{
43.
string
dateStr = dtHuman.Rows[i][
"FirstDate"
].ToString();
44.
dateStr = Convert.ToDateTime(dateStr).ToString(
"yyyyMMdd"
);
45.
46.
47.
string
sub1 = dateStr.Substring(0, 4);
48.
string
sub2 = dateStr.Substring(4, 2);
49.
string
sub3 = dateStr.Substring(6, 2);
50.
int
sub4 = Convert.ToInt32(sub1) - 543;
51.
int
sub5 = Convert.ToInt32(sub2);
52.
int
sub6 = Convert.ToInt32(sub3);
53.
54.
55.
56.
57.
58.
DateTime myDate =
new
DateTime(sub4, sub5, sub6);
59.
DateTime ToDate = DateTime.Now;
60.
61.
DateDifference dDiff =
new
DateDifference(myDate, ToDate);
62.
63.
string
totalworkage;
64.
totalworkage = Convert.ToString(dDiff);
65.
66.
dgvHumanList.Rows[i].Cells[
"ColWorkAge"
].Value = totalworkage;
67.
RunSchedule();
68.
69.
70.
}
71.
CountWorkTime();
72.
fommatdgv();
73.
}
74.
else
75.
{
76.
MessageBox.Show(
"ไม่มีข้อมุลตารางงานวันนี้"
,
"ผิดพลาด"
, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
77.
dr.Close();
78.
}
79.
}