📄 zhgview.cpp
字号:
// 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 + -