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

📄 menul_showdelflowerdlg.cpp

📁 VC++和ACCESS使用ADO连接
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// MenuL_ShowDelFlowerDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ministryperson.h"
#include "MenuL_ShowDelFlowerDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// MenuL_ShowDelFlowerDlg dialog


MenuL_ShowDelFlowerDlg::MenuL_ShowDelFlowerDlg(CWnd* pParent /*=NULL*/)
	: CDialog(MenuL_ShowDelFlowerDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(MenuL_ShowDelFlowerDlg)
	//}}AFX_DATA_INIT
}


void MenuL_ShowDelFlowerDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(MenuL_ShowDelFlowerDlg)
	DDX_Control(pDX, IDC_MENUL_D_LIST, m_MenuL_D_List);
	DDX_Control(pDX, IDC_MENUL_D_CHECKBOX, m_CBtn_CheckTimeLimit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(MenuL_ShowDelFlowerDlg, CDialog)
	//{{AFX_MSG_MAP(MenuL_ShowDelFlowerDlg)
	ON_BN_CLICKED(IDC_MENUL_D_BTN_QUERY, OnMenulDBtnQuery)
	ON_BN_CLICKED(IDC_MENUL_D_CHECKBOX, OnMenulDCheckbox)
	ON_BN_CLICKED(IDC_MENUL_D_BTN_MOREINFO, OnMenulDBtnMoreinfo)
	ON_NOTIFY(NM_CLICK, IDC_MENUL_D_LIST, OnClickMenulDList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// MenuL_ShowDelFlowerDlg message handlers

BOOL MenuL_ShowDelFlowerDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	IDStateControl(FALSE);
	MakeShowStyle();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

/*********************************************************************
函数说明:	  清空数据表的显示
函数参数:	  void
*********************************************************************/
BOOL MenuL_ShowDelFlowerDlg::DeleteAllRows()
{
	m_MenuL_D_List.DeleteAllItems();	// 清空列表控件
	return TRUE;
}

/*********************************************************************
函数说明:	  设置列表控件一行的内容
函数参数:	  
*********************************************************************/
BOOL MenuL_ShowDelFlowerDlg::SetRow(int row, CString *strArray, int nCount)
{
	m_MenuL_D_List.InsertItem(row, strArray[0]);			// 在列表控件中插入一行
	for (int i = 1; i < nCount; i++)
	{
		m_MenuL_D_List.SetItemText(row, i, strArray[i]);	// 设置除第一行外的其他行
	}
	return TRUE;
}

/*********************************************************************
函数说明:	  显示内容
函数参数:	  
*********************************************************************/
void MenuL_ShowDelFlowerDlg::MakeShowStyle()
{
	m_MenuL_D_List.SetExtendedStyle(LVS_EX_FLATSB | 
									  LVS_EX_GRIDLINES | 
									  LVS_EX_FULLROWSELECT | 
									  LVS_EX_ONECLICKACTIVATE);
	 						  						 
	m_MenuL_D_List.InsertColumn(0, "姓名",   LVCFMT_LEFT, 50);
	m_MenuL_D_List.InsertColumn(1, "身份证", LVCFMT_LEFT, 150);
	m_MenuL_D_List.InsertColumn(2, "性别",   LVCFMT_LEFT, 50);
	m_MenuL_D_List.InsertColumn(3, "年龄",   LVCFMT_LEFT, 50);
	m_MenuL_D_List.InsertColumn(4, "单位",   LVCFMT_LEFT, 150);
	m_MenuL_D_List.InsertColumn(5, "部门",   LVCFMT_LEFT, 150);

	m_MenuL_D_List.InsertColumn(6, "现任职位类别", LVCFMT_LEFT, 130);
	m_MenuL_D_List.InsertColumn(7, "职称等级", LVCFMT_LEFT, 70);
	m_MenuL_D_List.InsertColumn(8, "职务",     LVCFMT_LEFT, 120);
	m_MenuL_D_List.InsertColumn(9, "入职时间", LVCFMT_LEFT, 100);
	m_MenuL_D_List.InsertColumn(10, "参加工作时间", LVCFMT_LEFT, 100);

	m_MenuL_D_List.InsertColumn(11, "离开时间", LVCFMT_LEFT, 100);
	m_MenuL_D_List.InsertColumn(12, "是否完清", LVCFMT_LEFT, 70);
	m_MenuL_D_List.InsertColumn(13, "辞职性质", LVCFMT_LEFT, 110);
}

/*********************************************************************
函数说明:	  [按钮] 查询
函数参数:	  
*********************************************************************/
void MenuL_ShowDelFlowerDlg::OnMenulDBtnQuery() 
{
	CFuncOper FunOper;
	CString strProperty;
	if (!FunOper.CheckType_CComBox(this, IDC_MENUL_D_CMB_PRO, "一个【辞职性质】作为查询条件", strProperty))
	{
		return;
	}

	if (m_CBtn_CheckTimeLimit.GetCheck())
	{		
		if (!MakeQueryCondition(m_CBtn_CheckTimeLimit.GetCheck()))
		{
			return;
		}		
		QueryWithTimeLimit();
	}
	else
	{
		if (!MakeQueryCondition(m_CBtn_CheckTimeLimit.GetCheck()))
		{
			return;
		}		
		QueryWithoutTime();
	}	
}

/*********************************************************************
函数说明:	  检查条件并整理
函数参数:	  bTimeCondition 如果有时间条件则为 TRUE
*********************************************************************/
BOOL MenuL_ShowDelFlowerDlg::MakeQueryCondition(BOOL bTimeCondition)
{	
	CString strProperty;
	GetDlgItemText(IDC_MENUL_D_CMB_PRO, strProperty);

	if (bTimeCondition)		// 选中时间段查询
	{
		CString strStart;
		CString strFinish;
		GetDlgItemText(IDC_MENUL_D_DTP_START, strStart);
		GetDlgItemText(IDC_MENUL_D_DTP_END, strFinish);
		if (!IsTimeCorrect(strStart, strFinish))		// 检查时间条件的合法性
		{
			MessageBox("查询的时间段条件有误!请检查!\t", "提示", MB_ICONEXCLAMATION | MB_OK);
			GetDlgItem(IDC_MENUL_D_DTP_START)->SetFocus();
			return FALSE;
		}
		WORD wStart[3] = {0};
		WORD wFinish[3] = {0};
		CFuncOper FunOper;
		FunOper.strTimeTowTime(strStart,  wStart);
		FunOper.strTimeTowTime(strFinish, wFinish);

		CString strIsOver;
		GetDlgItemText(IDC_MENUL_D_CMB_ISOVER, strIsOver);

		if (strProperty == "所有在职辞职")
		{						
			if (strIsOver == "已完清")
			{
				m_strTimeCondition.Format("(Demission_Property = '在职自动辞职' and Demission_IsFinished = '已完清' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#) or \
										   (Demission_Property = '在职除名'  and Demission_IsFinished = '已完清' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#)",
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2], 
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2]);
			}
			else if (strIsOver == "未完清")
			{
				m_strTimeCondition.Format("(Demission_Property = '在职自动辞职' and Demission_IsFinished = '未完清' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#) or \
										   (Demission_Property = '在职除名'  and Demission_IsFinished = '未完清' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#)",
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2],
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2]);				
			}
			else	// 选项【忽略此条件】
			{
				m_strTimeCondition.Format("(Demission_Property = '在职自动辞职' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#) or \
										   (Demission_Property = '在职除名' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#)",
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2], 
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2]);	
			}
		}
		else if (strProperty == "所有农民工辞职")
		{
			if (strIsOver == "已完清")
			{
				m_strTimeCondition.Format("(Demission_Property = '农民工自动辞职' and Demission_IsFinished = '已完清' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#) or \
										   (Demission_Property = '农民工除名'  and Demission_IsFinished = '已完清' and \
											Demission_Leavetime > #%d-%d-%d# and Demission_Leavetime < #%d-%d-%d#)",
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2], 
										wStart[0], wStart[1], wStart[2], wFinish[0], wFinish[1], wFinish[2]);
			}
			else if (strIsOver == "未完清")

⌨️ 快捷键说明

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