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