📄 detqueryview.cpp
字号:
// DetQueryView.cpp : implementation file
//
#include "stdafx.h"
#include "FinanceMIS.h"
#include "DetQueryView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDetQueryView
IMPLEMENT_DYNCREATE(CDetQueryView, CFormView)
CDetQueryView::CDetQueryView()
: CFormView(CDetQueryView::IDD)
{
//{{AFX_DATA_INIT(CDetQueryView)
m_strExpType = _T("");
m_strInType = _T("");
//}}AFX_DATA_INIT
}
CDetQueryView::~CDetQueryView()
{
}
void CDetQueryView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDetQueryView)
DDX_Control(pDX, IDC_LIST_INFO, m_listInfo);
DDX_Control(pDX, IDC_COMBO_IN, m_comboInType);
DDX_Control(pDX, IDC_COMBO_EXP, m_comboExpType);
DDX_CBString(pDX, IDC_COMBO_EXP, m_strExpType);
DDX_CBString(pDX, IDC_COMBO_IN, m_strInType);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDetQueryView, CFormView)
//{{AFX_MSG_MAP(CDetQueryView)
ON_BN_CLICKED(IDC_BTN_IN_QUERY, OnBtnInQuery)
ON_BN_CLICKED(IDC_BTN_EXP_QUERY, OnBtnExpQuery)
ON_BN_CLICKED(IDC_BTN_IN_ALL, OnBtnInAll)
ON_BN_CLICKED(IDC_BTN_EXP_ALL, OnBtnExpAll)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDetQueryView diagnostics
#ifdef _DEBUG
void CDetQueryView::AssertValid() const
{
CFormView::AssertValid();
}
void CDetQueryView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDetQueryView message handlers
void CDetQueryView::InitControl()
{
//设置列表框控件扩展风格
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
m_listInfo.SetExtendedStyle(dwExStyle);
//初始收支信息列表框控件
m_listInfo.InsertColumn(0,"日期",LVCFMT_CENTER,80);
m_listInfo.InsertColumn(1,"收入/支出",LVCFMT_CENTER,80);
m_listInfo.InsertColumn(2,"名称",LVCFMT_CENTER,100);
m_listInfo.InsertColumn(3,"金额",LVCFMT_CENTER,100);
m_listInfo.InsertColumn(4,"说明",LVCFMT_CENTER,120);
}
VOID CDetQueryView::InsertCtrlItem(CString item0,CString item1,CString item2, CString item3,CString item4)
{
//获取当前的纪录条数.
int nIndex = m_listInfo.GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行数
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)item0; //第一列
//在最后一行插入记录值.
m_listInfo.InsertItem(&lvItem);
//设置该行的其他列的值.
m_listInfo.SetItemText(nIndex,1,item1);
m_listInfo.SetItemText(nIndex,2,item2);
m_listInfo.SetItemText(nIndex,3,item3);
m_listInfo.SetItemText(nIndex,4,item4);
}
void CDetQueryView::InsertCtrlData(CString sql)
{
if(!g_adoDB.IsOpen())
return;
m_listInfo.DeleteAllItems();
CDStrs ixFields;
//获取收支信息表数据
g_adoDB.ExecuteQuery(sql,ixFields);
for(int i = 0 ; i < ixFields.size() ; i++)
{
CStrs strs = ixFields[i];
InsertCtrlItem(strs[0].Left(10),strs[1]=="0"?"收入":"支出",
strs[2],strs[3],strs[4]);
}
}
void CDetQueryView::RefreshComboData()
{
if(!g_adoDB.IsOpen())
{
AfxMessageBox("Open Database ERROR !");
return;
}
m_comboInType.ResetContent();
m_comboExpType.ResetContent();
CDStrs InFields,ExpFields;
//获取收入类型数据
g_adoDB.ExecuteQuery("Select name from in_type_tab order by id",InFields);
for(int i = 0 ; i < InFields.size() ; i++)
{
CStrs strs = InFields[i];
m_comboInType.AddString(strs[0]);
}
//获取支出类型数据
g_adoDB.ExecuteQuery("Select name from exp_type_tab order by id",ExpFields);
for(int i = 0 ; i < ExpFields.size() ; i++)
{
CStrs strs = ExpFields[i];
m_comboExpType.AddString(strs[0]);
}
}
void CDetQueryView::OnDraw(CDC* pDC)
{
// TODO: Add your specialized code here and/or call the base class
RefreshComboData();
}
void CDetQueryView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
InitControl();
RefreshComboData();
}
void CDetQueryView::OnBtnInQuery()
{
// TODO: Add your control notification handler code here
if(!g_adoDB.IsOpen())
return;
if(!UpdateData())
return;
if(m_strInType.IsEmpty())
return;
CString sql;
//构造满足查询条件的SQL语句
sql.Format("select ix_date,ix_type,ix_name,money,description "
"from in_exp_info_tab where ix_type = 0 "
"and ix_name = '%s' order by ix_date",m_strInType);
TRACE(sql);
InsertCtrlData(sql);
}
void CDetQueryView::OnBtnExpQuery()
{
// TODO: Add your control notification handler code here
if(!g_adoDB.IsOpen())
return;
if(!UpdateData())
return;
if(m_strExpType.IsEmpty())
return;
CString sql;
//构造满足查询条件的SQL语句
sql.Format("select ix_date,ix_type,ix_name,money,description "
"from in_exp_info_tab where ix_type = 1 "
"and ix_name = '%s' order by ix_date",m_strExpType);
InsertCtrlData(sql);
}
void CDetQueryView::OnBtnInAll()
{
if(!g_adoDB.IsOpen())
return;
if(!UpdateData())
return;
//构造满足查询条件的SQL语句
CString sql = "select ix_date,ix_type,ix_name,money,description "
"from in_exp_info_tab where ix_type = 0 ";
TRACE(sql);
InsertCtrlData(sql);
}
void CDetQueryView::OnBtnExpAll()
{
// TODO: Add your control notification handler code here
if(!g_adoDB.IsOpen())
return;
if(!UpdateData())
return;
//构造满足查询条件的SQL语句
CString sql = "select ix_date,ix_type,ix_name,money,description "
"from in_exp_info_tab where ix_type = 1 ";
InsertCtrlData(sql);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -