【VC开源代码栏目提醒】:网学会员,鉴于大家对VC开源代码十分关注,论文会员在此为大家搜集整理了“DocManDlg.cpp”一文,供大家参考学习!
// DocManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "HosptialMan.h"
#include "DocManDlg.h"
#include "DocEditDlg.h"
#include "Doctor.h"
#include "columns.h"
#include "column.h"
#include "COMDEF.H"
#include "_recordset.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDocManDlg dialog
CDocManDlg::CDocManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDocManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDocManDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDocManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDocManDlg)
DDX_Control(pDX, IDC_SEL_COMBO, m_Sel);
DDX_Control(pDX, IDC_ADODC1, m_Adodc);
DDX_Control(pDX, IDC_ADODC2, m_AdoDept);
DDX_Control(pDX, IDC_DATACOMBO1, m_Dept);
DDX_Control(pDX, IDC_DATAGRID1, m_DataGrid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDocManDlg, CDialog)
//{{AFX_MSG_MAP(CDocManDlg)
ON_CBN_SELCHANGE(IDC_SEL_COMBO, OnSelchangeSelCombo)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_EDIT_BUTTON, OnEditButton)
ON_BN_CLICKED(IDC_DELT_BUTTON, OnDeltButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDocManDlg message handlers
void CDocManDlg::RefreshData()
{
// 刷新记录
CString cSql;
cSql = "SELECT d.DocId, d.Name AS , d.Sex AS 性别,b.TypeName AS 科室, "
" d.DeptId,d.Title AS 职务 FROM Doctor d,Type b "
" WHERE d.DeptId=b.TypeId";
// 查询条件(科室)是否为空
CString cDeptId;
if(m_Sel.GetCurSel()==1)
{
cDeptId = m_Dept.GetBoundText();
if(cDeptId!="")
cSql += " AND d.DeptId=" + cDeptId;
}
// MessageBox(cSql);
m_Adodc.SetRecordSource((LPCTSTR)(_bstr_t)cSql);
m_Adodc.Refresh();
// 设置列宽度
_variant_t vIndex;
vIndex = long(0);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(1); //
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(2); // 性别
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(50);
vIndex = long(3); // 科室
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
vIndex = long(4);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(5); // 职务
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(120);
}
BOOL CDocManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置查询条件为全部医生信息
m_Sel.SetCurSel(0);
// 当查询条件为全部医生信息时,不显示科室信息
GetDlgItem(IDC_DATACOMBO1)->ShowWindow(SW_HIDE);
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDocManDlg::OnSelchangeSelCombo()
{
// 选择全部时,则显示后面的组合框,否则将其隐藏
if(m_Sel.GetCurSel()==0)
GetDlgItem(IDC_DATACOMBO1)->ShowWindow(SW_HIDE);
else
GetDlgItem(IDC_DATACOMBO1)->ShowWindow(SW_SHOW);
//数据刷新
RefreshData();
}
BEGIN_EVENTSINK_MAP(CDocManDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CDocManDlg)
ON_EVENT(CDocManDlg, IDC_DATACOMBO1, -600 /* Click */, OnClickDatacombo1, VTS_I2)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CDocManDlg::OnClickDatacombo1(short Area)
{
// 得到选择的列值,刷新记录
if(m_Dept.GetBoundText()!="")
RefreshData();
}
void CDocManDlg::OnAddButton()
{
CDocEditDlg dlg;
dlg.cDId = "";
if(dlg.DoModal()==IDOK)
RefreshData();
}
void CDocManDlg::OnEditBu