private void mCalendar_DateChanged(object sender, DateRangeEventArgs e) { this.year_And_Month = e.Start.ToString("yyyy-MM"); this.year_Month_Day = e.Start.ToString("yyyy-MM-dd"); this.dgv.DataSource = TheDaysOfOvertime.getRestDays(year_And_Month); DGVHelper.AutoSizeForDGV(dgv); }
/// <summary> /// 导出考勤记录。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnExportARResult_Click(object sender, EventArgs e) { //先判断当月的休息日是否指定。 if (string.IsNullOrEmpty(YearAndMonthStr)) { ShowResult.show(lblResult, "请先设定年月!", false); return; } //判断当前月份有无设定休息日。 TheDaysOfOvertime restDay = new TheDaysOfOvertime("everybody", YearAndMonthStr); if (!restDay.ifHaveTheDayOfOvertime()) { ShowResult.show(lblResult, string.Format(@"请先设定{0}的:休息日!", YearAndMonthStr), false); return; } this.MdiParent.WindowState = FormWindowState.Minimized; this.MdiParent.ShowInTaskbar = false; ((FrmMainOfAttendanceRecord)this.MdiParent).nfiSystem.Visible = true; if (radioBtnSeparate.Checked) { separateOutputAR(); //显示完成图标 timerCompleted.Start(); return; } toAWholePiece(); //显示完成图标。 timerCompleted.Start(); }
private void btnGenerateDefaultRestDays_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.year_And_Month)) { ShowResult.show(lblResult, "请先选择月份!", false); timerRestoreTheLblResult.Enabled = true; return; } OracleParameter param_Name = new OracleParameter("v_Name", OracleDbType.NVarchar2, ParameterDirection.Input); OracleParameter param_YearAndMonth = new OracleParameter("v_yearAndMonth", OracleDbType.Varchar2, ParameterDirection.Input); OracleHelper oH = OracleHelper.getBaseDao(); string procedureName = "Generate_Rest_Day"; param_Name.Value = "everybody"; param_YearAndMonth.Value = this.year_And_Month; OracleParameter[] parameters = new OracleParameter[2] { param_Name, param_YearAndMonth }; int j = oH.ExecuteNonQuery(procedureName, parameters); if (j == 0) { ShowResult.show(lblResult, "Generate_Rest_Day:生成Rest_Day失败!", false); timerRestoreTheLblResult.Enabled = true; return; } this.dgv.DataSource = TheDaysOfOvertime.getRestDays(year_And_Month); DGVHelper.AutoSizeForDGV(dgv); }
private void btnAdd_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.year_Month_Day)) { ShowResult.show(lblResult, "请先选择具体日期", false); timerRestoreTheLblResult.Enabled = true; return; } TheDaysOfOvertime restDay = new TheDaysOfOvertime("everybody", year_Month_Day); restDay.addRestDay(); this.dgv.DataSource = TheDaysOfOvertime.getRestDays(year_And_Month); DGVHelper.AutoSizeForDGV(dgv); }
private void btnGenerateDefaultRestDays_Click(object sender, EventArgs e) { if (frmRestDay_justConfiguration == null || frmRestDay_justConfiguration.IsDisposed) { frmRestDay_justConfiguration = new FrmRestDay_justConfiguration(); } frmRestDay_justConfiguration.Year_and_month = year_And_Month; if (DialogResult.OK.Equals(frmRestDay_justConfiguration.ShowDialog())) { this.dgv.DataSource = TheDaysOfOvertime.getRestDays(year_And_Month); DGVHelper.AutoSizeForDGV(dgv); } ; }
/// <summary> /// 删除该行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void delToolStripMenuItem_Click(object sender, EventArgs e) { DataGridViewRow dr = dgv.CurrentRow; if (dr == null) { return; } string name = dr.Cells["姓名"].ToString(); string rest_day = dr.Cells["休息日"].ToString(); TheDaysOfOvertime rd = new TheDaysOfOvertime(name, rest_day); rd.delRestDay(); this.dgv.DataSource = TheDaysOfOvertime.getRestDays(year_And_Month); DGVHelper.AutoSizeForDGV(dgv); }
private void refreshDGV() { this.dgv.DataSource = TheDaysOfOvertime.getAllRestDays(); DGVHelper.AutoSizeForDGV(dgv); }
private void btnImportRestDay_Click(object sender, EventArgs e) { randomStr = RandomStr.GetRandomString(33, true, true, true, false, ""); xlsFilePath = FileNameDialog.getSelectedFilePathWithDefaultDir("请选择考勤记录:", "*.xls|*.xls", defaultDir); tbRestDayPath.Text = xlsFilePath; //*********************************************************** List <TheDaysOfOvertime> restDayList = new List <TheDaysOfOvertime>(); ApplicationClass app = new ApplicationClass(); app.Visible = false; Workbook wBook = null; //用于确定本月最后一天. //行最大值. int rowsMaxCount = 0; int colsMaxCount = 0; try { wBook = app.Workbooks.Open(xlsFilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); } catch (Exception ex) { MessageBox.Show(ex.ToString()); if (wBook != null) { wBook.Close(true, xlsFilePath, Type.Missing); } //退出excel app.Quit(); //释放资源 if (wBook != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(wBook); } System.Runtime.InteropServices.Marshal.ReleaseComObject(app); //调用GC的垃圾回收方法 GC.Collect(); GC.WaitForPendingFinalizers(); return; } Worksheet ws = (Worksheet)(wBook.Worksheets.Item[1]); //行;列最大值 赋值. rowsMaxCount = ws.UsedRange.Rows.Count; colsMaxCount = ws.UsedRange.Columns.Count; //判断首行是否为 考勤记录表;以此判断此表是否为考勤记录表. //检查日期列的值是否符合规范。 string temp = string.Empty; string[] tempArray = { }; for (int rowIndex = 2; rowIndex <= rowsMaxCount; rowIndex++) { temp = ((Range)ws.Cells[rowIndex, 2]).Text.ToString().Trim(); DateTime dt; if (!DateTime.TryParse(temp, out dt)) { ShowResult.show(lblResult, temp + ": 非时间格式!", false); timerRestoreTheLblResult.Enabled = true; return; } //先判断是否含有"/"或者"-" if (!temp.Contains("/") && !temp.Contains("-")) { ShowResult.show(lblResult, "此内容非时间格式: yyyy/MM/dd 或 yyyy-MM-dd!", false); timerRestoreTheLblResult.Enabled = true; return; } tempArray = temp.Split(new char[] { '/', '-' }); string year = tempArray[0]; if (!CheckString.checkYear(year)) { ShowResult.show(lblResult, "前4位非年份!", false); timerRestoreTheLblResult.Enabled = true; return; } string month = tempArray[1]; if (!CheckString.checkMonth(month)) { ShowResult.show(lblResult, "第6,7位非月份!", false); timerRestoreTheLblResult.Enabled = true; return; } string day = tempArray[2]; if (!CheckString.checkDay(day)) { ShowResult.show(lblResult, "第9,10位非天数!", false); timerRestoreTheLblResult.Enabled = true; return; } } string dateStr = string.Empty; string name = string.Empty; //精诚所至,金石为开。 for (int rowIndex = 2; rowIndex <= rowsMaxCount; rowIndex++) { dateStr = ((Range)ws.Cells[rowIndex, 2]).Text.ToString().Trim(); name = ((Range)ws.Cells[rowIndex, 1]).Text.ToString().Trim(); TheDaysOfOvertime restDay = new TheDaysOfOvertime(name, dateStr); restDay.addRestDay(); } //释放对象 int hwndOfApp = app.Hwnd; Tools.CmdHelper.killProcessByHwnd(hwndOfApp); //**************************************************************** tempArray = dateStr.Split(new char[] { '/', '-' }); this.dgv.DataSource = TheDaysOfOvertime.getRestDays(tempArray[0] + "-" + tempArray[1]); DGVHelper.AutoSizeForDGV(dgv); }