⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itemmandlg.cpp

📁 This a integrated human resource manage system ,developed with vc++ and sql2000 Server
💻 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 + -