📄 makeeditdlg.cpp
字号:
// MakeEditDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ordermanagement.h"
#include "MakeEditDlg.h"
#include "ADOConn.h"
#include "ModPlanDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// MakeEditDlg dialog
ADOConn conn5;
_bstr_t sSQL5;
MakeEditDlg::MakeEditDlg(CWnd* pParent /*=NULL*/)
: CDialog(MakeEditDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(MakeEditDlg)
m_kstr = _T("");
m_nSearch = -1;
m_nSort = -1;
m_ncurrSel = -1;
//}}AFX_DATA_INIT
}
void MakeEditDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(MakeEditDlg)
DDX_Control(pDX, IDC_KSORT_COMB, m_odSoCtr);
DDX_Control(pDX, IDC_KSEARCH_COMB, m_odSeCtr);
DDX_Control(pDX, IDC_LIST_ODER, m_listCtr);
DDX_Text(pDX, IDC_KEY_EDIT, m_kstr);
DDX_CBIndex(pDX, IDC_KSEARCH_COMB, m_nSearch);
DDX_CBIndex(pDX, IDC_KSORT_COMB, m_nSort);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(MakeEditDlg, CDialog)
//{{AFX_MSG_MAP(MakeEditDlg)
ON_BN_CLICKED(IDC_SEARCH_BTN, OnSearchBtn)
ON_BN_CLICKED(IDC_SORT_BTN, OnSortBtn)
ON_NOTIFY(NM_CLICK, IDC_LIST_ODER, OnClickListOder)
ON_NOTIFY(NM_DBLCLK, IDC_LIST_ODER, OnDblclkListOder)
ON_BN_CLICKED(IDC_CHAN_BNT, OnChanBnt)
ON_BN_CLICKED(IDC_REFRESH_BNT, OnRefreshBnt)
ON_BN_CLICKED(IDC_DEL_BNT, OnDelBnt)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// MakeEditDlg message handlers
BOOL MakeEditDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//初始化图标
m_imagelist.Create(16, 16,ILC_MASK,1,4);
HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON6);
m_imagelist.Add(hIcon);
//初始化列表框表头
m_listCtr.SetImageList(&m_imagelist,LVSIL_SMALL);
m_listCtr.InsertColumn(0, "生产单ID", LVCFMT_LEFT,100);
m_listCtr.InsertColumn(1, "产 品 ID", LVCFMT_LEFT,100);
m_listCtr.InsertColumn(2, "产品名称", LVCFMT_LEFT,80);
m_listCtr.InsertColumn(3, "生产数量", LVCFMT_LEFT,80);
m_listCtr.InsertColumn(4, "期 限(天)", LVCFMT_LEFT,80);
m_listCtr.InsertColumn(5, "制定日期", LVCFMT_LEFT,100);
//-- 设置单列全选,显示网格 -- //
m_listCtr.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_nSechType = 0;
this->oSBindList();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void MakeEditDlg::oSBindList()
{
ADOConn conn;
_RecordsetPtr m_pRecordset;
_bstr_t vSQL;
int nItem;
CString sKey,sort;
m_listCtr.DeleteAllItems();
try{
//如果Concection对象为空,则重新连接
if(conn.m_pConn == NULL)
conn.OnInitADOConn();
if(m_odSoCtr.GetCurSel() == 0)//确定排序方式
sort = "ASC";
else
sort = "DESC";
switch(m_nSechType)
{
case 0:
vSQL = "select * from PlanFormMessage order by planID "+sort;
m_pRecordset = conn.GetRecordSet(vSQL);
break;
case 1:
vSQL = "select * from PlanFormMessage where planID='" +m_kstr+ "' order by planID "+sort;
m_pRecordset = conn.GetRecordSet(vSQL);
break;
case 2:
vSQL= "select * from PlanFormMessage where productID='" +m_kstr+ "'order by planID "+sort;
m_pRecordset = conn.GetRecordSet(vSQL);
break;
case 3:
vSQL= "select * from PlanFormMessage where productName='" +m_kstr+ "'order by planID "+sort;
m_pRecordset = conn.GetRecordSet(vSQL);
break;
default:
vSQL = "select * from PlanFormMessage order by planID "+sort;
m_pRecordset = conn.GetRecordSet(vSQL);
break;
/**/ }
while(!m_pRecordset->adoEOF)
{
_variant_t vid;
/* vid = m_pRecordset->GetCollect("planID");AfxMessageBox("over");*/
conn.vPlanID = m_pRecordset->GetCollect("planID");
conn.vPID = m_pRecordset->GetCollect("productID");
conn.vPN = m_pRecordset->GetCollect("productName");
conn.vOPNUM = m_pRecordset->GetCollect("produceNum");
conn.vLDate = m_pRecordset->GetCollect("limitedTime");
conn.vPDate = m_pRecordset->GetCollect("formDate");
// -- 添加数据到列表控件中 -- //
nItem = m_listCtr.InsertItem(0xffff,(_bstr_t)conn.vPlanID,0);//;
m_listCtr.SetItemText(nItem,1,(_bstr_t)conn.vPID);
m_listCtr.SetItemText(nItem,2,(_bstr_t)conn.vPN);
m_listCtr.SetItemText(nItem,3,(_bstr_t)conn.vOPNUM);
m_listCtr.SetItemText(nItem,4,(_bstr_t)conn.vLDate);
m_listCtr.SetItemText(nItem,5,(_bstr_t)conn.vPDate);
// nItem = m_listCtr.InsertItem(0xffff,(_bstr_t)vid,0);//;
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}
}
void MakeEditDlg::OnSearchBtn()
{
switch(m_odSeCtr.GetCurSel())
{
case 0: m_nSechType = 1;
break;
case 1: m_nSechType = 2;
break;
case 2: m_nSechType = 3;
break;
default:
break;
}
UpdateData(true);
this->oSBindList();
}
void MakeEditDlg::OnSortBtn()
{
this->OnSearchBtn();
}
void MakeEditDlg::OnClickListOder(NMHDR* pNMHDR, LRESULT* pResult)
{
m_ncurrSel = m_listCtr.GetSelectionMark();//获当前行值
if(m_ncurrSel >= 0)
{
IID = m_listCtr.GetItemText(m_ncurrSel,0);//取当前项的订单号,0表示列号
Date = m_listCtr.GetItemText(m_ncurrSel,10);//取当前项的截止有效时间
}
*pResult = 0;
}
void MakeEditDlg::OnDblclkListOder(NMHDR* pNMHDR, LRESULT* pResult)
{
ModPlanDlg pMod;
m_ncurrSel = -1;
// m_ncurrSel = m_listCtr.GetSelectionMark();
//获当前行值
NM_LISTVIEW *pNMListView = (NM_LISTVIEW *)pNMHDR;
m_ncurrSel = pNMListView->iItem;
/* CString str;
str.Format("m_ncurrSel%d",m_ncurrSel);
AfxMessageBox(str);
*/
if(m_ncurrSel >= 0)
{
for(int i=0;i<6;i++)
pMod.s[i] = m_listCtr.GetItemText(m_ncurrSel,i);
pMod.DoModal();
}
else
{
AfxMessageBox("请在列表中选中要操作的项!");
}
*pResult = 0;
m_ncurrSel = -1;
MakeEditDlg::OnRefreshBnt();
}
void MakeEditDlg::OnChanBnt()
{
AfxMessageBox("请双击要操作的项!");
}
void MakeEditDlg::OnRefreshBnt()
{
m_nSearch = -1;
m_nSort = -1;
m_kstr = "";
UpdateData(false);
m_ncurrSel = -1;
m_nSechType = 0;
this->oSBindList();
}
void MakeEditDlg::OnDelBnt()
{
if(m_ncurrSel < 0)
AfxMessageBox("请在列表中选中要删除的项!");
else
{
if(MessageBox("是否确定删除?","请确认",MB_YESNO) == IDYES)
{
try
{
if(conn5.m_pConn == NULL)
conn5.OnInitADOConn();
PlanFormDel(IID);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
}
MakeEditDlg::OnRefreshBnt();
}
//删除生产单
void MakeEditDlg::PlanFormDel(CString pID)
{
sSQL5 = "DELETE FROM PlanFormMessage WHERE planID='"+pID+"'";
if(conn5.ExecuteSQL(sSQL5))
{
AfxMessageBox("生产单删除!");
m_nSechType = 0;
this->oSBindList();
}
}
HBRUSH MakeEditDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
COLORREF backColor = RGB(231, 231, 231); //office 2003背景色
pDC->SetBkMode(TRANSPARENT); //设置控件背景透明
return CreateSolidBrush(backColor); //创建背景刷子
// TODO: Return a different brush if the default is not desired
//return hbr;
//HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
//pDC->SetBkMode(TRANSPARENT);
//return (HBRUSH)GetStockObject(NULL_BRUSH);
}
void MakeEditDlg::OnCancel()
{
//if(MessageBox("是否确定退出?","请确认",MB_YESNO) == IDYES)
//{
CDialog::OnCancel();
//}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -