📄 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 + -