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

📄 zhgview.cpp

📁 一套人事管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// ZHGVIEW.cpp : implementation file
//

#include "stdafx.h"
#include "ZHURUI_JK02_人事管理.h"
#include "ZHGVIEW.h"
#include "MainFrm.h"
#include "SAMDLG.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


int flag0=0;
/////////////////////////////////////////////////////////////////////////////
// CZHGVIEW

IMPLEMENT_DYNCREATE(CZHGVIEW, CRecordView)

CZHGVIEW::CZHGVIEW()
	: CRecordView(CZHGVIEW::IDD)
{
	//{{AFX_DATA_INIT(CZHGVIEW)
	m_pSet = NULL;
	m_SECHKEY = _T("");
	m_SECHWAY = -1;
	//}}AFX_DATA_INIT
}

CZHGVIEW::~CZHGVIEW()
{
	if (m_pSet)
		delete m_pSet;
}

void CZHGVIEW::DoDataExchange(CDataExchange* pDX)
{
	CRecordView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CZHGVIEW)
	DDX_Control(pDX, IDC_EDIT_TEL, m_TEL);
	DDX_Control(pDX, IDC_EDIT_PERSONID, m_PERSONID);
	DDX_Control(pDX, IDC_EDIT_NAME, m_NAME);
	DDX_Control(pDX, IDC_EDIT_MAJOR, m_MAJOR);
	DDX_Control(pDX, IDC_EDIT_ID, m_ID);
	DDX_Control(pDX, IDC_COMBO_DEPARTMENT, m_DEPARTMENT);
	DDX_Control(pDX, IDC_COMBO_STATE, m_STATE);
	DDX_Control(pDX, IDC_COMBO_SEX, m_SEX);
	DDX_Control(pDX, IDC_COMBO_JOB, m_JOB);
	DDX_Control(pDX, IDC_COMBO_EDUlevel, m_EDUlevel);
	DDX_Control(pDX, IDC_LIST4, m_LIST);
	DDX_Text(pDX, IDC_EDIT_SEARCH, m_SECHKEY);
	DDX_CBIndex(pDX, IDC_COMBO_SEARCH, m_SECHWAY);
	DDX_FieldCBString(pDX, IDC_COMBO_DEPARTMENT, m_pSet->m_DEPARTMENT, m_pSet);
	DDX_FieldCBString(pDX, IDC_COMBO_EDUlevel, m_pSet->m_EDU_LEVEL, m_pSet);
	DDX_FieldCBString(pDX, IDC_COMBO_JOB, m_pSet->m_JOB, m_pSet);
	DDX_FieldCBString(pDX, IDC_COMBO_SEX, m_pSet->m_SEX, m_pSet);
	DDX_FieldCBString(pDX, IDC_COMBO_STATE, m_pSet->m_STATE, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_ID, m_pSet->m_ID, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_MAJOR, m_pSet->m_MAJOR, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_NAME, m_pSet->m_NAME, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_PERSONID, m_pSet->m_PERSONID, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_TEL, m_pSet->m_TEL, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_LYRQ, m_pSet->m_LYRQ, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_BIRTHDAY, m_pSet->m_BIRTHDAY, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT_ADDRESS, m_pSet->m_ADDRESS, m_pSet);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CZHGVIEW, CRecordView)
	//{{AFX_MSG_MAP(CZHGVIEW)
	ON_NOTIFY(NM_CLICK, IDC_LIST4, OnClickList4)
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_ZHAO, OnZHAO)
	ON_NOTIFY(LVN_ITEMCHANGING, IDC_LIST4, OnItemchangingList4)
	ON_BN_CLICKED(IDC_SHOW, OnSHOW)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_WM_CREATE()
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_EDIT, OnEdit)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_NOTIFY(NM_RCLICK, IDC_LIST4, OnRclickList4)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST4, OnDblclkList4)
	ON_COMMAND(IDM_EDIT, OnEdit)
	ON_COMMAND(IDM_DELETE, OnDelete)
	ON_COMMAND(IDM_ADD, OnAdd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CZHGVIEW diagnostics

#ifdef _DEBUG
void CZHGVIEW::AssertValid() const
{
	CRecordView::AssertValid();
}

void CZHGVIEW::Dump(CDumpContext& dc) const
{
	CRecordView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CZHGVIEW message handlers

CRecordset* CZHGVIEW::OnGetRecordset()
{
	if (m_pSet != NULL)
		return m_pSet;

	m_pSet = new CZHGSET(NULL);
	m_pSet->Open();

	return m_pSet;
}

CZHGSET* CZHGVIEW::GetRecordset()
{
	CZHGSET* pData = (CZHGSET*) OnGetRecordset();
	ASSERT(pData == NULL || pData->IsKindOf(RUNTIME_CLASS(CZHGSET)));
	return pData;
}


int firstflag=0;
void CZHGVIEW::OnInitialUpdate()
{
	BeginWaitCursor();
	GetRecordset();
	CRecordView::OnInitialUpdate();
	if (m_pSet->IsOpen())
	{
		CString strTitle = m_pSet->m_pDatabase->GetDatabaseName();
		CString strTable = m_pSet->GetTableName();
		if (!strTable.IsEmpty())
			strTitle += _T(":") + strTable;
		GetDocument()->SetTitle(strTitle);
	}
	DWORD dwStyle;
	dwStyle = m_LIST.GetStyle();
	dwStyle |= LVS_EX_GRIDLINES |LVS_SHOWSELALWAYS|LVS_EX_FULLROWSELECT ;
	m_LIST.SetExtendedStyle(dwStyle);
	m_LIST.SetBkColor(RGB(0,0,0));
	m_LIST.SetTextBkColor(RGB(0,0,0));
	m_LIST.SetTextColor(RGB(0,255,255));

	m_SECHWAY=0;//初始化查询方式为按ID查找
	m_SECHKEY="请输入关键字:";

	if(flag0==0)
	{
	m_LIST.InsertColumn(0,"职工ID",LVCFMT_LEFT,60,0);//设置列	
	m_LIST.InsertColumn(1,"姓名",LVCFMT_LEFT,80,1);	
	m_LIST.InsertColumn(2,"性别",LVCFMT_LEFT,50,2);
	m_LIST.InsertColumn(3,"出生年月",LVCFMT_LEFT,80,3);
	m_LIST.InsertColumn(4,"所属部门",LVCFMT_LEFT,50,4);
	m_LIST.InsertColumn(5,"担任职务",LVCFMT_LEFT,50,1);	
	m_LIST.InsertColumn(6,"学历",LVCFMT_LEFT,50,2);
	m_LIST.InsertColumn(7,"专业",LVCFMT_LEFT,80,3);
	m_LIST.InsertColumn(8,"现住址",LVCFMT_LEFT,150,4);
	m_LIST.InsertColumn(9,"电话",LVCFMT_LEFT,80,1);	
	m_LIST.InsertColumn(10,"电子邮件",LVCFMT_LEFT,80,2);
	m_LIST.InsertColumn(11,"状态",LVCFMT_LEFT,80,3);
	m_LIST.InsertColumn(12,"录用日期",LVCFMT_LEFT,80,4);
	m_LIST.InsertColumn(13,"身份证号",LVCFMT_LEFT,80,1);	
	
	/*	int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat , int nWidth, int nSubItem); 插入列
	
	  iCol:为列的位置,从零开始
	  
		lpszColumnHeading:为显示的列名
		
		  nFormat:为显示对齐方式
		  
			nWidth:为显示宽度
			
			  nSubItem:为分配给该列的列索引。
	*/
	flag0=1;
	}
	m_LIST.DeleteAllItems();
	m_pSet->m_strFilter=" ID like '%'  ";
	m_pSet->Requery();
	m_pSet->MoveLast();
	while(!m_pSet->IsBOF())
	{
		
		//	m_pSet->GetRecordCount();
		
		CString str0;
		m_pSet->GetFieldValue("ID", str0);
		m_LIST.InsertItem(0,str0);//插入行
		
		
		m_LIST.SetItemText(0,1,m_pSet->m_NAME);
		
		//		CString str2;
		//		m_pSet->GetFieldValue("SEX", str2);
		m_LIST.SetItemText(0,2,m_pSet->m_SEX);
		
		//		CString str3;
		//		str3.Format("%d",m_pSet->m_BIRTHDAY);
		m_LIST.SetItemText(0,3,m_pSet->m_BIRTHDAY);
		
		//			CString str4;
		//		m_pSet->GetFieldValue("DEPARTMENT", str4);
		m_LIST.SetItemText(0,4,m_pSet->m_DEPARTMENT);
		
		//			CString str5;
		//		m_pSet->GetFieldValue("JOB", str5);
		m_LIST.SetItemText(0,5,m_pSet->m_JOB);
		
		//			CString str6;
		//		m_pSet->GetFieldValue("EDU_LEVEL", str6);
		m_LIST.SetItemText(0,6,m_pSet->m_EDU_LEVEL);
		
		//			CString str7;
		//		m_pSet->GetFieldValue("MAJOR", str7);
		m_LIST.SetItemText(0,7,m_pSet->m_MAJOR);
		
		//			CString str8;
		//		m_pSet->GetFieldValue("ADDRESS", str8);
		m_LIST.SetItemText(0,8,m_pSet->m_ADDRESS);
		
		//			CString str9;
		//		m_pSet->GetFieldValue("TEL", str9);
		m_LIST.SetItemText(0,9,m_pSet->m_TEL);
		
		//			CString str10;
		//		m_pSet->GetFieldValue("EMAIL", str10);
		m_LIST.SetItemText(0,10,m_pSet->m_EMAIL);
		
		//			CString str11;
		//		m_pSet->GetFieldValue("STATE", str11);
		m_LIST.SetItemText(0,11,m_pSet->m_STATE);
		
		//			CString str12;
		//		m_pSet->GetFieldValue("LYRQ", str12);
		m_LIST.SetItemText(0,12,m_pSet->m_LYRQ);
		
		//		CString str13;
		//		m_pSet->GetFieldValue("PERSONID", str13);
		m_LIST.SetItemText(0,13,m_pSet->m_PERSONID);//设置该行的不同列的显示字符
		
		m_pSet->MovePrev();
	}
	
	//设置部门下拉列表内容为部门表中的内容
	CString strtmp; 
    db.Open("sam人事管理");
	CRecordset rs(&db);
	rs.Open(CRecordset::forwardOnly,"select NAME from 部门");
	while(!rs.IsEOF())
	{
		rs.GetFieldValue("NAME",strtmp);
		m_DEPARTMENT.AddString(strtmp);
		rs.MoveNext();
	}
	rs.Close();

	//设置职务列表框内容为职务表中内容
	rs.Open(CRecordset::forwardOnly,"select SHUOMING from 职务");
	while(!rs.IsEOF())
	{
		rs.GetFieldValue("SHUOMING",strtmp);
		m_JOB.AddString(strtmp);
		rs.MoveNext();
	}
	rs.Close();


	rs.Open(CRecordset::forwardOnly,"select EDU_LEVEL from 学历");
	while(!rs.IsEOF())
	{
		rs.GetFieldValue("EDU_LEVEL",strtmp);
		m_EDUlevel.AddString(strtmp);
		rs.MoveNext();
	}
	UpdateData(FALSE);
	rs.Close();
    db.Close();

    if(firstflag==0)
	{
		m_btn_SHOW.AutoLoad(IDC_SHOW,this);
		m_btn_ZHAO.AutoLoad(IDC_ZHAO,this);
		m_btn_ADD.AutoLoad(IDC_ADD,this);
		m_btn_EDIT.AutoLoad(IDC_EDIT,this);
		m_btn_DELETE.AutoLoad(IDC_DELETE,this);

		m_btn_SHOW.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDC_SHOW);
		m_btn_ZHAO.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDC_ZHAO);
		m_btn_ADD.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDC_ADD);
		m_btn_EDIT.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDC_EDIT);
		m_btn_DELETE.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDC_DELETE);
		
		firstflag=1;
	}

	EndWaitCursor();
}

void CZHGVIEW::OnClickList4(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int i=m_LIST.GetSelectionMark();
	CString strID;
	strID=m_LIST.GetItemText(i,0);
	if(strID!="")
	{
		if(strID=="人事部")
		{
			MessageBox("管理员信息保留!");
		}
		else
		{
			m_pSet->m_strFilter=" ID='"+strID+"' ";
			m_pSet->Requery();
			UpdateData(FALSE);
		}
	}

	*pResult = 0;
}

HBRUSH CZHGVIEW::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{

	HBRUSH hbr = CRecordView::OnCtlColor(pDC, pWnd, nCtlColor);
	if(nCtlColor   ==   CTLCOLOR_DLG)   
	{   
        //返回对话框的颜色   
		hbr=(HBRUSH)::CreateSolidBrush(RGB(17,29,240));     
	}  
	
	HBRUSH hbr0=(HBRUSH)::GetStockObject(NULL_BRUSH); 
	if(nCtlColor==CTLCOLOR_STATIC)   
	{   
		//让静态文本框透明   
		pDC->SetBkMode(TRANSPARENT);   
		pDC->SetTextColor(RGB(0,255,255));   //设置字体颜色天蓝色   
		HBRUSH hbr0=(HBRUSH)::GetStockObject(NULL_BRUSH);  
		return hbr0 ;
	}   
	if(nCtlColor==CTLCOLOR_EDIT)   
	{   
		//让静态文本框不透明   
		pDC->SetBkMode(2);   
		pDC->SetBkColor(RGB(0,0,0));
		pDC->SetTextColor(RGB(0,255,255));   //设置字体颜色天蓝色   
		HBRUSH hbr0=(HBRUSH)::GetStockObject(NULL_BRUSH);  
		return hbr0 ;
	}   
	return hbr ;
}

void CZHGVIEW::OnZHAO() 
{
	// TODO: Add your control notification handler code here
	int flag=1;
	db.Close();
	db.Open("sam人事管理");
	CRecordset rs(&db);
	UpdateData();
	if(m_SECHKEY=="请输入关键字:")
	{
		AfxMessageBox("请输入要查找的关键字!");
		flag=0;
	}
	switch(m_SECHWAY)
	{
	case 0:
		rs.Open(CRecordset::forwardOnly,"select * from 员工 where ID like '%"+m_SECHKEY+"%' ");
		break;
	case 1:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -