📄 funcremoveinfodlg.cpp
字号:
// FuncRemoveInfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ministryperson.h"
#include "FuncRemoveInfoDlg.h"
#include "excel9.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// FuncRemoveInfoDlg dialog
FuncRemoveInfoDlg::FuncRemoveInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(FuncRemoveInfoDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(FuncRemoveInfoDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void FuncRemoveInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(FuncRemoveInfoDlg)
DDX_Control(pDX, IDC_CHECK_REMOVE_CONDITION, m_Check_ReM);
DDX_Control(pDX, IDC_COMBO_REMOVE_DEPART, m_Cmb_ReM_Depart);
DDX_Control(pDX, IDC_COMBO_REMOVE_COMPANY, m_Cmb_ReM_Com);
DDX_Control(pDX, IDC_LIST_REMOVE_LIST, m_ListCtrl_Remove);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(FuncRemoveInfoDlg, CDialog)
//{{AFX_MSG_MAP(FuncRemoveInfoDlg)
ON_BN_CLICKED(IDC_BUTTON_REMOVE_QUERY, OnButtonRemoveQuery)
ON_MESSAGE(UM_LISTEDIT_DBCLICK, OnListEditDBClick)
ON_NOTIFY(NM_CLICK, IDC_LIST_REMOVE_LIST, OnClickListRemoveList)
ON_BN_CLICKED(IDC_CHECK_REMOVE_CONDITION, OnCheckRemoveCondition)
ON_CBN_SELCHANGE(IDC_COMBO_REMOVE_COMPANY, OnSelchangeComboRemoveCompany)
ON_BN_CLICKED(IDC_BTN_REMOVE_PATH, OnBtnRemovePath)
ON_BN_CLICKED(IDC_BTN_REMOVE_EXCEL, OnBtnRemoveExcel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// FuncRemoveInfoDlg message handlers
BOOL FuncRemoveInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
MakeShowInfoStyle();
IDStateControl(FALSE);
InitCompCmB(&m_Cmb_ReM_Com);
InitReMExcelPath();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
/*********************************************************************
函数说明: 清空数据表的显示
函数参数: void
*********************************************************************/
BOOL FuncRemoveInfoDlg::DeleteAllRows()
{
m_ListCtrl_Remove.DeleteAllItems(); // 清空列表控件
return TRUE;
}
/*********************************************************************
函数说明: 设置列表控件一行的内容
函数参数:
*********************************************************************/
BOOL FuncRemoveInfoDlg::SetRow(int row, CString *strArray, int nCount)
{
m_ListCtrl_Remove.InsertItem(row, strArray[0]); // 在列表控件中插入一行
for (int i = 1; i < nCount; i++)
{
m_ListCtrl_Remove.SetItemText(row, i, strArray[i]); // 设置除第一行外的其他行
}
return TRUE;
}
/*********************************************************************
函数说明: 设置显示模式
函数参数:
*********************************************************************/
void FuncRemoveInfoDlg::MakeShowInfoStyle()
{
m_ListCtrl_Remove.SetExtendedStyle(LVS_EX_FLATSB |
LVS_EX_GRIDLINES |
LVS_EX_FULLROWSELECT |
LVS_EX_ONECLICKACTIVATE);
m_ListCtrl_Remove.InsertColumn(0, "员工编号", LVCFMT_LEFT, 70);
m_ListCtrl_Remove.InsertColumn(1, "姓名", LVCFMT_LEFT, 70);
m_ListCtrl_Remove.InsertColumn(2, "身份证", LVCFMT_LEFT, 160);
m_ListCtrl_Remove.InsertColumn(3, "性别", LVCFMT_LEFT, 50);
m_ListCtrl_Remove.InsertColumn(4, "年龄", LVCFMT_LEFT, 50);
m_ListCtrl_Remove.InsertColumn(5, "学历", LVCFMT_LEFT, 50);
m_ListCtrl_Remove.InsertColumn(6, "单位", LVCFMT_LEFT, 120);
m_ListCtrl_Remove.InsertColumn(7, "部门", LVCFMT_LEFT, 120);
m_ListCtrl_Remove.InsertColumn(8, "职务", LVCFMT_LEFT, 100);
m_ListCtrl_Remove.InsertColumn(9, "入司时间", LVCFMT_LEFT, 100);
m_ListCtrl_Remove.InsertColumn(10, "员工性质", LVCFMT_LEFT, 110);
m_ListCtrl_Remove.InsertColumn(11, "家庭住址", LVCFMT_LEFT, 110);
m_ListCtrl_Remove.InsertColumn(12, "联系电话", LVCFMT_LEFT, 110);
m_ListCtrl_Remove.InsertColumn(13, "备注", LVCFMT_LEFT, 150);
}
/*********************************************************************
函数说明: “查看”按钮
函数参数:
*********************************************************************/
void FuncRemoveInfoDlg::OnButtonRemoveQuery()
{
CString strQueryRem;
CFuncOper FunOper;
if (!FunOper.CheckType_CComBox(this, IDC_COMBO_REMOVE_QUERYTYPE, "一个【查询类别】\t", strQueryRem))
{
return;
}
if (PrepareRemove(m_Check_ReM.GetCheck()))
{
QueryRemoveInfo();
}
}
/*********************************************************************
函数说明: 通过对双击列表事件做出响应
函数参数: lpnmlv->iItem(记录集行数) lpnmlv->iSubItem(该记录集行的子项数)
*********************************************************************/
LRESULT FuncRemoveInfoDlg::OnListEditDBClick(WPARAM wParam, LPARAM lParam)
{
LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)wParam;
g_nEmployee_ID = atoi(m_ListCtrl_Remove.GetItemText(lpnmlv->iItem, 0));
g_strEmployee_IDCard = m_ListCtrl_Remove.GetItemText(lpnmlv->iItem, 2);
g_bQueryToShow = TRUE;
AllTogetherMainDlg AllToGetherDlg;
AllToGetherDlg.DoModal();
OnButtonRemoveQuery();
return TRUE;
}
/*********************************************************************
函数说明: 【单击】表项的响应
函数参数:
*********************************************************************/
void FuncRemoveInfoDlg::OnClickListRemoveList(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
g_nIndex = lpnmlv->iItem;
// 获取姓名和身份证
g_nEmployee_ID = atoi(m_ListCtrl_Remove.GetItemText(lpnmlv->iItem, 0));
g_strEmployee_IDCard = m_ListCtrl_Remove.GetItemText(lpnmlv->iItem, 2);
*pResult = 0;
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
void FuncRemoveInfoDlg::IDStateControl(BOOL bState)
{
GetDlgItem(IDC_STATIC_REMOVE_TITLE)->EnableWindow(bState);
GetDlgItem(IDC_STATIC_REMOVE_COMPANY)->EnableWindow(bState);
GetDlgItem(IDC_STATIC_REMOVE_DEPART)->EnableWindow(bState);
GetDlgItem(IDC_COMBO_REMOVE_COMPANY)->EnableWindow(bState);
GetDlgItem(IDC_COMBO_REMOVE_DEPART)->EnableWindow(bState);
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
void FuncRemoveInfoDlg::InitCompCmB(CComboBox *pComp)
{
CADOOperation ADOdbo;
CString strComp;
ADOdbo.OpenTable("Search_Table"); // 打开“搜索”表
if (ADOdbo.IsLastRow())
{
ADOdbo.CloseTable();
return;
}
// 得到单位名
pComp->ResetContent();
pComp->AddString("请选择已有的单位");
ADOdbo.MoveFirst();
ADOdbo.GetItemContentStr("Search_Company", CADOOperation::ADO_TYPE_STRING, &strComp);
pComp->AddString(strComp);
DWORD dwRecCount = (ADOdbo.GetRecordCount() - 1);
ADOdbo.CloseTable();
CString SQL;
SQL.Format("SELECT Search_Company FROM Search_Table WHERE 1=1");
ADOdbo.OpenRecordset(SQL);
ADOdbo.MoveFirst();
for (DWORD i = 2; i <= dwRecCount; i++)
{
CString strCompOne;
ADOdbo.MoveTo(i - 1);
ADOdbo.GetItemContentStr("Search_Company", CADOOperation::ADO_TYPE_STRING, &strComp);
strCompOne = strComp;
// 拿出MoveTo的内容,依次和其前面的比较
ADOdbo.MoveFirst();
for (DWORD j = 2; j <= i; j++)
{
ADOdbo.GetItemContentStr("Search_Company", CADOOperation::ADO_TYPE_STRING, &strComp);
if (strCompOne == strComp)
{
ADOdbo.MoveFirst();
break;
}
else
{
ADOdbo.MoveNext();
}
}
if (j > i)
{
pComp->AddString(strCompOne);
}
ADOdbo.MoveFirst();
}
ADOdbo.CloseRecorset();
pComp->SetCurSel(0);
return;
}
/*********************************************************************
函数说明: 显示“部门”组合框内容
函数参数:
*********************************************************************/
BOOL FuncRemoveInfoDlg::InitDeptCmB(CComboBox *pDept)
{
CADOOperation ADODepart;
CString strDepart;
CString strComp;
CString strIndex;
CString SQL;
int nIndex = ((CComboBox*)GetDlgItem(IDC_COMBO_REMOVE_COMPANY))->GetCurSel(); // 选中的“单位”的项数
int nBuff = ((CComboBox*)GetDlgItem(IDC_COMBO_REMOVE_COMPANY))->GetLBTextLen(nIndex); // 该项内容大小
((CComboBox*)GetDlgItem(IDC_COMBO_REMOVE_COMPANY))->GetLBText(nIndex, strComp.GetBuffer(nBuff)); // 获取该项内容
strComp.ReleaseBuffer();
strIndex = strComp.GetBuffer(0);
SQL.Format("SELECT Search_Depart FROM Search_Table WHERE Search_Company = '%s'", strIndex);
ADODepart.OpenRecordset(SQL);
if (ADODepart.IsLastRow())
{
ADODepart.CloseRecorset();
return TRUE;
}
pDept->AddString("请选择部门");
ADODepart.MoveFirst();
do
{
ADODepart.GetItemContentStr("Search_Depart", CADOOperation::ADO_TYPE_STRING, &strDepart);
pDept->AddString(strDepart);
ADODepart.MoveNext();
} while (!ADODepart.IsLastRow());
ADODepart.CloseRecorset();
pDept->SetCurSel(0);
return TRUE;
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
void FuncRemoveInfoDlg::OnCheckRemoveCondition()
{
if (!m_Check_ReM.GetCheck())
{
IDStateControl(FALSE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -