?? itemmandlg.cpp
字號:
// ItemManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "HrSys.h"
#include "ItemManDlg.h"
#include "COMDEF.H"
#include "Columns.h"
#include "Column.h"
#include "ItemEditDlg.h"
#include "_recordset.h"
#include "SalaryItem.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CItemManDlg dialog
CItemManDlg::CItemManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CItemManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CItemManDlg)
//}}AFX_DATA_INIT
}
void CItemManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CItemManDlg)
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CItemManDlg, CDialog)
//{{AFX_MSG_MAP(CItemManDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CItemManDlg message handlers
void CItemManDlg::Refresh_Data()
{
//設置記錄源
CString cSource;
cSource = "SELECT ItemId, ItemName AS 項目名稱,"
"(CASE ItemType WHEN 0 THEN '系統值' WHEN 1 THEN '固定值' "
" ELSE '計算值' END) AS 項目類型,"
"(CASE ItemType WHEN 1 THEN ItemSum ELSE 0 END) AS 固定值,"
"(CASE ItemType WHEN 2 THEN Formula ELSE ' ' END) AS 計算值,"
"(CASE IsVisible WHEN 0 THEN '否' ELSE '是' END) AS 是否顯示計算,ItemType,"
"(CASE Operation WHEN 0 THEN '稅前加' WHEN 1 THEN '稅前減'"
" WHEN 2 THEN '稅后加' ELSE '稅后減' END) AS 運算方式,"
" Operation, IsVisible FROM SalaryItem";
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(120);
vIndex = long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(130);
vIndex = long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(180);
vIndex = long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(6);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(7);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
vIndex = long(8);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(9);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
}
void CItemManDlg::OnAddButton()
{
CItemEditDlg dlg;
dlg.cId = "";
if (dlg.DoModal() == IDOK)
Refresh_Data();
}
void CItemManDlg::OnDelButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("請選擇要刪除的記錄");
return;
}
if (MessageBox("是否刪除當前記錄","請確定", MB_YESNO) == IDYES)
{
CSalaryItem item;
item.sql_delete(m_datagrid.GetItem(0));
Refresh_Data();
}
}
void CItemManDlg::OnModiButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("請選擇要修改的記錄");
return;
}
if(m_datagrid.GetItem(1) == "基本工資")
{
MessageBox("不能編輯基本工資");
return;
}
CItemEditDlg dlg;
dlg.cId = m_datagrid.GetItem(0); //記錄編號
dlg.m_ItemName = m_datagrid.GetItem(1); //項目名稱
dlg.cOldName = m_datagrid.GetItem(1);
dlg.cType = m_datagrid.GetItem(2); //項目類型
dlg.m_Sum = atoi(m_datagrid.GetItem(3)); //金額
dlg.m_Formula = m_datagrid.GetItem(4); //公式
dlg.cIsVS = m_datagrid.GetItem(5); //是否可見
dlg.cOper = m_datagrid.GetItem(7); //運算方式
if (dlg.DoModal() == IDOK)
Refresh_Data();
}
BOOL CItemManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
Refresh_Data();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -