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

📄 showdialog.cpp

📁 这是一个企业人力资源管理系统设计实例!比较实用!
💻 CPP
字号:
// ShowDialog.cpp : implementation file
//

#include "stdafx.h"
#include "EmpMan.h"
#include "ShowDialog.h"
#include "ChangeDalog.h"
#include "AddEm.h"
#include "afxdb.h"
#include "ShowAllPart.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CShowDialog dialog


CShowDialog::CShowDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CShowDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CShowDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CShowDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CShowDialog)
	DDX_Control(pDX, IDC_LIST_SHOW, m_List);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CShowDialog, CDialog)
	//{{AFX_MSG_MAP(CShowDialog)
	ON_BN_CLICKED(ID_CHANGE, OnChange)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_SHOW, OnDblclkListShow)
	ON_NOTIFY(NM_CLICK, IDC_LIST_SHOW, OnClickListShow)
	ON_BN_CLICKED(ID_DELET, OnDelet)
	ON_BN_CLICKED(ID_ADD, OnAdd)
	ON_BN_CLICKED(ID_SHOWALL, OnShowall)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CShowDialog message handlers

void CShowDialog::InsertColumn()
{

    LVCOLUMN column;
	column.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;
	column.fmt=LVCFMT_LEFT;
	column.cx=100;
	column.iSubItem=0;
	column.pszText="eID";
	m_List.InsertColumn(0,&column);
	
	column.iSubItem=1;
	column.pszText="姓名";
	column.cx=50;
	m_List.InsertColumn(1,&column);
	
	column.iSubItem=2;
	column.pszText="身份证号";
	column.cx=200;
	m_List.InsertColumn(2,&column);

	column.iSubItem=3;
	column.pszText="性别";
	column.cx=40;
	m_List.InsertColumn(3,&column);

	column.iSubItem=4;
	column.pszText="联系电话";
	column.cx=100;
	m_List.InsertColumn(4,&column);

	column.iSubItem=5;
	column.pszText="职称";
	column.cx=80;
	m_List.InsertColumn(5,&column);

	column.iSubItem=6;
	column.pszText="参加工作时间";
	column.cx=120;
	m_List.InsertColumn(6,&column);	

	column.iSubItem=7;
	column.pszText="年龄";
	column.cx=50;
	m_List.InsertColumn(7,&column);	

	column.iSubItem=8;
	column.pszText="所属部门";
	column.cx=80;
	m_List.InsertColumn(8,&column);	

	column.iSubItem=9;
	column.pszText="岗位";
	column.cx=80;
	m_List.InsertColumn(9,&column);	

	column.iSubItem=10;
	column.pszText="最高学历";
	column.cx=50;
	m_List.InsertColumn(10,&column);

	column.iSubItem=11;
	column.pszText="婚否";
	column.cx=50;
	m_List.InsertColumn(11,&column);

	m_List.SetTextColor(RGB(255,0,0));
}

BOOL CShowDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	InsertColumn();
	
	
	ButtonSat(ID_DELET,false);
	ButtonSat(ID_ADD,false);
	ButtonSat(ID_SHOWALL,false);
	ButtonSat(ID_CHANGE,false);

	// TODO: Add extra initialization here
	SelectSQL();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CShowDialog::OnChange() 
{
	// TODO: Add your control notification handler code here
	CChangeDalog dlg;
	dlg.m_id=m_choseID;
	dlg.DoModal();
	SelectSQL();
}

void CShowDialog::SelectSQL()
{
	m_List.DeleteAllItems();
	CRecordset rs(&db);

	UpdateData(true);
	
	
	rs.Open(CRecordset::forwardOnly,sql);

	if (rs.IsEOF())
	{
		MessageBox("查找结果不存在,请验证后重试");
		CDialog::OnOK();
	}
	
	while(!rs.IsEOF()) // 非空则获取员工信息
	{
		
		rs.GetFieldValue("eID",infor[0]); 
		rs.GetFieldValue("name",infor[1]); 
		rs.GetFieldValue("IDcard",infor[2]); 
		rs.GetFieldValue("sex",infor[3]);
		rs.GetFieldValue("phone",infor[4]); 
		rs.GetFieldValue("position",infor[5]); 
		rs.GetFieldValue("workdata",infor[6]);
		rs.GetFieldValue("age",infor[7]); 
		rs.GetFieldValue("bumenname",infor[8]);
		rs.GetFieldValue("gangweiname",infor[9]);
		rs.GetFieldValue("highestxueli",infor[10]);
		rs.GetFieldValue("marriage",infor[11]);
		AddItemToList();
		
		rs.MoveNext();
	}
	rs.Close();

}

void CShowDialog::AddItemToList()
{
    LVITEM item;
	item.mask=LVIF_TEXT;
	item.iItem=0;
	item.iSubItem=0;
	char x[50];					//加入标题(CString->Char)
	strcpy(x,infor[0]);
	item.pszText=x;
	m_List.InsertItem(&item);
	for(int i=1;i<12;i++)
		m_List.SetItemText(0,i,infor[i]);
	m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);
}

void CShowDialog::CanDelete()
{
	
	ButtonSat(ID_DELET,true);
	ButtonSat(ID_ADD,false);
	ButtonSat(ID_SHOWALL,false);
	ButtonSat(ID_CHANGE,false);

}

void CShowDialog::CanAdd()
{
	
	ButtonSat(ID_DELET,false);
	ButtonSat(ID_ADD,true);
	ButtonSat(ID_SHOWALL,false);
	ButtonSat(ID_CHANGE,false);

}

void CShowDialog::CanChange()
{
	
	ButtonSat(ID_DELET,false);
	ButtonSat(ID_ADD,false);
	ButtonSat(ID_SHOWALL,false);
	ButtonSat(ID_CHANGE,true);
}

void CShowDialog::ButtonSat(int a, bool b)
{
    pWnd=GetDlgItem(a);
	//pWnd->EnableWindow(b);
	pWnd->ShowWindow(b);
	pWnd=NULL;
}

void CShowDialog::OnDblclkListShow(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	
	//m_List.GetItemData(nChoice);
    if(m_status ==0)
		OnShowall();
	   else
		if(m_status==1)
			OnChange();
		else
			if(m_status ==2)
				OnDelet();
			else if(m_status ==3)
				OnAdd();
	
	*pResult = 0;
}

void CShowDialog::OnClickListShow(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	nChoice=m_List.GetNextItem(-1,LVNI_SELECTED);
	//m_List.GetItemData(nChoice);
    m_choseID=m_List.GetItemText(nChoice,0);
	if(m_status ==0)
	{
	ButtonSat(ID_DELET,false);
	ButtonSat(ID_ADD,false);
	ButtonSat(ID_SHOWALL,true);
	ButtonSat(ID_CHANGE,false);
	}
	else
		if(m_status==1)
			CanChange();
		else
			if(m_status ==2)
				CanDelete();
			else if(m_status ==3)
				CanAdd();
	*pResult = 0;
}

void CShowDialog::OnDelet() 
{
	// TODO: Add your control notification handler code here
	CString sql;
	sql.Format("delete from employee where eID=%s",m_choseID);
	
	CString ask;
	ask.Format("是否真的要删除证件号为%s的记录",m_choseID);
	int index=MessageBox(ask,"注销",MB_ICONQUESTION|MB_YESNO);	
	if (index==IDYES) 
	{
		db.ExecuteSQL(sql);
		sql.Format("delete from ewh where eID=%s",m_choseID);
		db.ExecuteSQL(sql);
		sql.Format("delete from xueli where eID=%s",m_choseID);
		db.ExecuteSQL(sql);
		m_List.DeleteItem(nChoice);
		
	}
}

void CShowDialog::OnAdd() 
{
	// TODO: Add your control notification handler code here
	CAddEm dlg;
	dlg.DoModal();
	SelectSQL();

}

void CShowDialog::OnShowall() 
{
	// TODO: Add your control notification handler code here
	CShowAllPart dlg;
	dlg.m_id=m_choseID;
	dlg.DoModal();
}

⌨️ 快捷键说明

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