【VC开源代码栏目提醒】:网学会员,鉴于大家对VC开源代码十分关注,论文会员在此为大家搜集整理了“DSellQuery.cpp”一文,供大家参考学习!
// DSellQuery.cpp : implementation file
//
#include "stdafx.h"
#include "qpglxt.h"
#include "DSellQuery.h"
#include "externDllHeader.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CQpglxtApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CDSellQuery dialog
CDSellQuery::CDSellQuery(CWnd* pParent /*=NULL*/)
: CDialog(CDSellQuery::IDD, pParent)
{
//{{AFX_DATA_INIT(CDSellQuery)
//}}AFX_DATA_INIT
}
void CDSellQuery::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDSellQuery)
DDX_Control(pDX, IDC_STAToolTextBottom, m_StaToolTextBottom);
DDX_Control(pDX, IDC_STAToolTextTop, m_StaToolTextTop);
DDX_Control(pDX, IDC_STAToolText, m_StaToolText);
DDX_Control(pDX, IDC_GRID2, m_Grid2);
DDX_Control(pDX, IDC_GRID1, m_Grid1);
DDX_Control(pDX, IDC_EDTCondition, m_EdtCondition);
DDX_Control(pDX, IDC_DATE2, m_Date2);
DDX_Control(pDX, IDC_DATE1, m_Date1);
DDX_Control(pDX, IDC_COMField, m_ComField);
DDX_Control(pDX, IDC_COMEmblem, m_ComEmblem);
DDX_Control(pDX, IDC_BUTQUERY, m_ButQuery);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDSellQuery, CDialog)
//{{AFX_MSG_MAP(CDSellQuery)
ON_BN_CLICKED(IDC_BUTQUERY, OnButquery)
ON_NOTIFY(NM_DBLCLK, IDC_GRID1, OnDblclkGrid1)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTPrint, OnBUTPrint)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDSellQuery message handlers
void CDSellQuery::OnOK()
{
// TODO: Add extra validation here
//CDialog::OnOK();
}
void CDSellQuery::OnButquery()
{
CString sField,sEmblem,sCondition,sSQL,sDate1,sDate2,cFieldType;
m_ComField.GetWindowText(sField);
m_ComEmblem.GetWindowText(sEmblem);
m_EdtCondition.GetWindowText(sCondition);
m_Date1.GetWindowText(sDate1);
m_Date2.GetWindowText(sDate2);
CString abc=m_ComField.m_CurrentFieldType;
if(m_ComField.m_CurrentFieldType=="字符型")
{
if(sEmblem=="LIKE")
sSQL.Format("SELECT * from %s WHERE %s %s '%s%%' AND 时间 BETWEEN #%s# AND #%s#",m_DataBaseName,sField,sEmblem,sCondition,sDate1,sDate2);
else
sSQL.Format("SELECT * from %s WHERE %s %s '%s' AND 时间 BETWEEN #%s# AND #%s#",m_DataBaseName,sField,sEmblem,sCondition,sDate1,sDate2);
}
if(m_ComField.m_CurrentFieldType=="数值型")
sSQL.Format("SELECT * from %s WHERE %s %s %s AND 时间 BETWEEN #%s# AND #%s#",m_DataBaseName,sField,sEmblem,sCondition,sDate1,sDate2);
if(m_ComField.m_CurrentFieldType=="日期型")
sSQL.Format("SELECT * from %s WHERE %s %s #%s# AND 时间 BETWEEN #%s# AND #%s#",m_DataBaseName,sField,sEmblem,sCondition,sDate1,sDate2);
rst.Open(sSQL,adCmdText);
m_Grid1.AddCellValue(rst);
}
void CDSellQuery::SetCaption(CString sCaption)
{
m_Caption=sCaption;
}
void CDSellQuery::SetDateBase(CString sDateBaseName)
{
m_DataBaseName=sDateBaseName;
}
BOOL CDSellQuery::OnInitDialog()
{
CDialog::OnInitDialog();
CString ToolText;
m_StaToolText.SetBkColor(RGB(92,92,92));
m_StaToolText.SetTextColor(RGB(255,255,255));
m_StaToolText.SetTextSize(12);
m_ComField.m_CurrentFieldType="文本";
ToolText.Format("用户在右上方输入查询字段及查询条件,单击〖查询〗按钮,系统会将符合条件的概要%s信息显示在绿色的表格中。用户可以双击某条概要%s信息查询对应的详细%s信息。详细%s信息显示在粉色的表格中。",m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4),m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4),m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4),m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4));
m_StaToolText.SetWindowText(ToolText);
SetWindowText(m_Caption);
m_Grid1.ReadOnly(true);
m_Grid1.SetDataBase(m_DataBaseName,adCmdTable);
CString sWaterBook,sToolTextTop,sToolTextBottom;
sToolTextTop="概要"+m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4)+"信息";
sToolTextBottom="详细"+m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4)+"信息";
this->m_StaToolTextTop.SetWindowText(sToolTextTop);
this->m_StaToolTextBottom.SetWindowText(sToolTextBottom);
sWaterBook=m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4)+"明细查询";
m_Grid1.SetBkColor(RGB(233,255,215));
m_Grid1.SetTextBkColor(RGB(233,255,215));
CString sSQL;
if(m_DataBaseName=="进货查询"|| m_DataBaseName=="出库退货查询")
sSQL.Format("SELECT 票号,往来单位,仓库,合计数量,合计金额,实付金额,未付金额,找零,经手人,操作员 FROM %s",m_DataBaseName);
else
sSQL.Format("SELECT 票号,往来单位,仓库,合计数量,合计金额,实收金额,未收金额,找零,经手人,操作员 FROM %s",m_DataBaseName);
rst.Open(sSQL,adCmdText);
m_Grid2.ReadOnly(true);
m_Grid2.SetDataBase(sWaterBook,adCmdTable);
m_Grid2.SetBkColor(RGB(255,215,233));
m_Grid2.SetTextBkColor(RGB(255,215,233));
m_Grid2.DeleteAllItems();
m_ComField.SetFieldset(rst);
m_ComEmblem.SetCurSel(0);
m_ComField.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDSellQuery::OnDblclkGrid1(NMHDR* pNMHDR, LRESULT* pResult)
{
RxRecordset rRst;
CString sSQL,sText,TableName;
if(m_Grid1.GetHotItem()<0)
return;
m_HotItem=m_Grid1.GetHotItem();
TableName=m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4)+"明细查询";
sText=this->m_Grid1.GetItemText(m_Grid1.GetHotItem(),0);
sSQL.Format("SELECT* FROM %s WHERE 票号='%s'",TableName,sText);
rRst.Open(sSQL,adCmdText);
m_Grid2.AddCellValue(rRst);
*pResult = 0;
}
HBRUSH CDSellQuery::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Return a different brush if the default is not desired
return hbr;
}
void CDSellQuery::OnBUTPrint()
{
CString sName,sDate,sCliect,sSumMoney,sBigMoney,sSumNumber,sID;
RxRecordset brst;
brst.Open("系统设置表");
sName=brst.GetFieldValue("公司名称");
sName=sName+m_DataBaseName.Mid(0,m_DataBaseName.GetLength()-4)+"单";
sDate=this->m_Grid1.GetItemText(m_HotItem,1);
sCliect=this->m_Grid1.GetItemText(m_HotItem,2);
sSumMoney=this->m_Grid1.GetItemText(m_HotItem,5);
sSumNumber=this->m_Grid1.GetItemText(m_HotItem,4);
sBigMoney=MoneyToChineseCode(sSumMoney);
sID=this->m_Grid1.GetItemText(m_HotItem,0);
m_ps.MainCaptionFontSize=400;
上一篇:
DSDemoDlg.cpp
下一篇:
如何当一个轻松的班主任