?? salarymandlg.cpp
字號:
// SalaryManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "HrSys.h"
#include "SalaryManDlg.h"
#include "SalaryEditDlg.h"
#include "_recordset.h"
#include "COMDEF.H"
#include "Columns.h"
#include "Column.h"
#include "Salary.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSalaryManDlg dialog
CSalaryManDlg::CSalaryManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSalaryManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSalaryManDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CSalaryManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSalaryManDlg)
DDX_Control(pDX, IDC_YEAR_COMBO, m_year);
DDX_Control(pDX, IDC_MONTH_COMBO, m_month);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSalaryManDlg, CDialog)
//{{AFX_MSG_MAP(CSalaryManDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)
ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSalaryManDlg message handlers
void CSalaryManDlg::Refresh_Data()
{
UpdateData(TRUE);
CString cSource;
//讀取月份信息
CString cYear, cMonth;
int index;
index = m_year.GetCurSel();
m_year.GetLBText(index, cYear);
index = m_month.GetCurSel();
m_month.GetLBText(index, cMonth);
// 設計SELECT語句
cSource = "SELECT s.Id, s.CreateDate AS 調薪日期, s.EmpId,"
" e.EmpName AS 員工姓名, d.DepName AS 部門名稱,"
" s.OldSalary AS 原薪資, s.NewSalary AS 調后薪資, s.Reason AS 調薪原因"
" FROM Salary s, Employees e, Departments d WHERE s.EmpId=e.EmpId "
" AND e.DepId=d.DepId AND s.CreateDate LIKE '" + cYear + "-" + cMonth+ "%'";
// 設置數據源
m_adodc.SetRecordSource(cSource);
m_adodc.Refresh();
//設置列寬度
_variant_t vIndex;
vIndex = long(0);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(1);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
vIndex = long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
vIndex = long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(6);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(7);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(180);
}
BOOL CSalaryManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//讀取當前系統日期
CTime t = CTime::GetCurrentTime();
// 從系統時間中獲取年和月的信息
int iYear, iMonth;
iYear = t.GetYear();
iMonth = t.GetMonth();
// 設置年和月控件值
m_year.SetCurSel(iYear - 2000);
m_month.SetCurSel(iMonth - 1);
UpdateData(FALSE);
// 根據條件查詢調薪記錄
Refresh_Data();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSalaryManDlg::OnAddButton()
{
CSalaryEditDlg dlg;
dlg.cId = "";
// 獲取當前日期
CTime t = CTime::GetCurrentTime();
dlg.m_Date.Format("%d-%d-%d", t.GetYear(), t.GetMonth(), t.GetDay());
if(dlg.DoModal() == IDOK)
Refresh_Data();
}
void CSalaryManDlg::OnModiButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("請選擇要修改的記錄");
return;
}
CSalaryEditDlg dlg;
dlg.cId = m_datagrid.GetItem(0); //記錄編號
dlg.m_EmpId = atoi(m_datagrid.GetItem(2)); // 員工編號
dlg.m_Date = m_datagrid.GetItem(1); // 調薪日期
dlg.m_EmpName = m_datagrid.GetItem(3); // 員工姓名
dlg.m_DepName = m_datagrid.GetItem(4); // 部門名稱
dlg.m_NewSalary = atoi(m_datagrid.GetItem(6)); // 新工資
dlg.m_OldSalary = m_datagrid.GetItem(5); // 舊工資
dlg.m_Reason = m_datagrid.GetItem(7); // 調薪原因
if (dlg.DoModal() == IDOK)
Refresh_Data();
}
void CSalaryManDlg::OnDelButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("請選擇要刪除的記錄");
return;
}
if (MessageBox("是否刪除當前記錄","請確定", MB_YESNO) == IDYES)
{
CSalary sal;
sal.sql_delete(m_datagrid.GetItem(0));
Refresh_Data();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -