?? medselectiondlg.cpp
字號:
// MedSelectionDlg.cpp : implementation file
//
#include "stdafx.h"
#include "HosptialMan.h"
#include "MedSelectionDlg.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
/////////////////////////////////////////////////////////////////////////////
// CMedSelectionDlg dialog
CMedSelectionDlg::CMedSelectionDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMedSelectionDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMedSelectionDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CMedSelectionDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMedSelectionDlg)
DDX_Control(pDX, IDC_ADODC1, m_AdoMed);
DDX_Control(pDX, IDC_ADODC2, m_AdoType);
DDX_Control(pDX, IDC_DATACOMBO1, m_Type);
DDX_Control(pDX, IDC_MEDICINE_DATAGRID, m_DataGrid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMedSelectionDlg, CDialog)
//{{AFX_MSG_MAP(CMedSelectionDlg)
ON_BN_CLICKED(IDC_SEL_BUTTON, OnSelButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMedSelectionDlg message handlers
BEGIN_EVENTSINK_MAP(CMedSelectionDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CMedSelectionDlg)
ON_EVENT(CMedSelectionDlg, IDC_DATACOMBO1, 1 /* Change */, OnChangeDatacombo1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CMedSelectionDlg::RefreshData()
{
CString cSql;
cSql = "Select m.MedId,m.Flag,(CASE WHEN m.Flag=0 THEN '中藥' ELSE '西藥' END) AS 種類,";
cSql += "m.MedName AS 藥品名稱,m.TypeId,b.TypeName AS 類別,";
cSql += "m.UnitId,b1.TypeName AS 單位,m.BuyPrice AS 進貨價格,m.SalePrice AS 門診價格,";
cSql += "m.Total AS 庫存數量 From Medicine m,BaseType b,BaseType b1 ";
cSql += "Where b.TypeId=2 AND m.TypeId=b.Id AND m.UnitId=b1.Id AND b1.TypeId=3";
// 查詢條件(類別)是否為空
if(m_Type.GetBoundText()!="")
{
cSql += " AND m.TypeId="+m_Type.GetBoundText();
}
// MessageBox(cSql);
m_AdoMed.SetRecordSource(cSql);
m_AdoMed.Refresh();
// 設置列寬度
_variant_t vIndex;
vIndex = long(0);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(1);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(2); // 藥品種類
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(40);
vIndex = long(3); // 藥品名稱
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(4); // 類別
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(5); // 類別
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(6); // 單位
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(7); // 單位
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(30);
vIndex = long(8); // 進貨價格
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
vIndex = long(9); // 門診價格
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
vIndex = long(10); // 庫存數量
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
}
void CMedSelectionDlg::OnChangeDatacombo1()
{
// TODO: Add your control notification handler code here
RefreshData();
}
BOOL CMedSelectionDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMedSelectionDlg::OnSelButton()
{
if(m_AdoMed.GetRecordset().GetEof())
{
MessageBox("請選擇記錄!");
return;
}
Reg_ItemId = m_DataGrid.GetItem(0); //藥品編號
Reg_ItemName = m_DataGrid.GetItem(3); //藥品名稱
Reg_ItemUnit = m_DataGrid.GetItem(7); //藥品單位
Reg_ItemSalePrice = m_DataGrid.GetItem(9); //門診價格
Reg_ItemTotal = m_DataGrid.GetItem(10); //藥品數量
OnOK();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -