📄 xlxxdlg.cpp
字号:
// XLXXDlg.cpp : implementation file
//
#include "stdafx.h"
#include "LXS.h"
#include "XLXXDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CXLXXDlg dialog
CXLXXDlg::CXLXXDlg(CWnd* pParent /*=NULL*/)
: CDialog(CXLXXDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CXLXXDlg)
m_strxlqy = _T("");
m_strwfjt = _T("");
m_strxllx = _T("");
m_strxlbh = _T("");
m_strfjsm = _T("");
m_strxlmc = _T("");
m_strsfd = _T("");
m_strmdd = _T("");
m_strcrbj = _T("");
m_stretbj = _T("");
m_strjqmc = _T("");
m_strxcts = _T("");
m_strxlrcap = _T("");
//}}AFX_DATA_INIT
}
void CXLXXDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CXLXXDlg)
DDX_Control(pDX, IDC_LIST1, m_xlxxlist);
DDX_CBString(pDX, IDC_COMBO1, m_strxlqy);
DDX_CBString(pDX, IDC_COMBO2, m_strwfjt);
DDX_CBString(pDX, IDC_COMBO3, m_strxllx);
DDX_Text(pDX, IDC_EDIT1, m_strxlbh);
DDX_Text(pDX, IDC_EDIT10, m_strfjsm);
DDX_Text(pDX, IDC_EDIT2, m_strxlmc);
DDX_Text(pDX, IDC_EDIT3, m_strsfd);
DDX_Text(pDX, IDC_EDIT4, m_strmdd);
DDX_Text(pDX, IDC_EDIT5, m_strcrbj);
DDX_Text(pDX, IDC_EDIT6, m_stretbj);
DDX_Text(pDX, IDC_EDIT7, m_strjqmc);
DDX_Text(pDX, IDC_EDIT8, m_strxcts);
DDX_Text(pDX, IDC_EDIT9, m_strxlrcap);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CXLXXDlg, CDialog)
//{{AFX_MSG_MAP(CXLXXDlg)
ON_EN_CHANGE(IDC_EDIT5, OnChangeEdit5)
ON_EN_CHANGE(IDC_EDIT7, OnChangeEdit7)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_BUTTON1, OnAdd)
ON_BN_CLICKED(IDC_BUTTON2, OnUpdate)
ON_BN_CLICKED(IDC_BUTTON3, OnDelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CXLXXDlg message handlers
void CXLXXDlg::OnChangeEdit5()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CXLXXDlg::OnChangeEdit7()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
BOOL CXLXXDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_xlxxlist.InsertColumn(0,"线路编号",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(1,"线路名称",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(2,"线路区域",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(3,"始发地",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(4,"目的地",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(5,"成人报价",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(6,"儿童报价",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(7,"往返交通",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(8,"景区名称",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(9,"行程天数",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(10,"线路类型",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(10,"线路日程安排",LVCFMT_LEFT,100);
m_xlxxlist.InsertColumn(10,"附加说明",LVCFMT_LEFT,100);
m_xlxxlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
ListAll();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CXLXXDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
index=m_xlxxlist.GetNextItem(-1,LVNI_SELECTED);
if (index!=-1)
{
m_strxlbh=m_xlxxlist.GetItemText(index,0);
m_strxlmc=m_xlxxlist.GetItemText(index,1);
m_strxlqy=m_xlxxlist.GetItemText(index,2);
m_strsfd=m_xlxxlist.GetItemText(index,3);
m_strmdd=m_xlxxlist.GetItemText(index,4);
m_strcrbj=m_xlxxlist.GetItemText(index,5);
m_stretbj=m_xlxxlist.GetItemText(index,6);
m_strwfjt=m_xlxxlist.GetItemText(index,7);
m_strjqmc=m_xlxxlist.GetItemText(index,8);
m_strxcts=m_xlxxlist.GetItemText(index,9);
m_strxllx=m_xlxxlist.GetItemText(index,10);
m_strxlrcap=m_xlxxlist.GetItemText(index,11);
m_strfjsm=m_xlxxlist.GetItemText(index,12);
}
UpdateData(FALSE);
*pResult = 0;
}
void CXLXXDlg::OnAdd()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(!m_xlxx.IsOpen())
m_xlxx.Open();
try
{
m_xlxx.AddNew();
m_xlxx.m_xlbh=m_strxlbh;
m_xlxx.m_xlmc=m_strxlmc;
m_xlxx.m_xlqy=m_strxlqy;
m_xlxx.m_sfd=m_strsfd;
m_xlxx.m_mdd=m_strmdd;
m_xlxx.m_crbj=m_strcrbj;
m_xlxx.m_etbj=m_stretbj;
m_xlxx.m_wfjt=m_strwfjt;
m_xlxx.m_jqmc=m_strjqmc;
m_xlxx.m_xcts=m_strxcts;
m_xlxx.m_xllx=m_strxllx;
m_xlxx.m_xlrcap=m_strxlrcap;
m_xlxx.m_fjsm=m_strfjsm;
if(m_xlxx.CanUpdate())
m_xlxx.Update();
}
catch(CDBException* e)
{e->ReportError();
e->Delete();
}
m_xlxx.Close();
ListAll();
}
void CXLXXDlg::OnUpdate()
{
// TODO: Add your control notification handler code here
POSITION pos=m_xlxxlist.GetFirstSelectedItemPosition();
//记录当前行的主项目的信息
int m_CurUser=m_xlxxlist.GetNextSelectedItem(pos);
UpdateData(TRUE);
//定义表中的记录
if(m_xlxx.IsOpen())
m_xlxx.Close();
m_xlxx.m_strFilter.Format("xlbh= '%s' ",m_strxlbh);
m_xlxx.Open();
if(m_xlxx.IsEOF())
{
m_xlxx.Close();
AfxMessageBox("没有该记录,不能修改!");
return;
}
try
{
m_xlxx.Edit();
//把对话框上的值赋给数据库
m_xlxx.m_xlbh=m_strxlbh;
m_xlxx.m_xlmc=m_strxlmc;
m_xlxx.m_xlqy=m_strxlqy;
m_xlxx.m_sfd=m_strsfd;
m_xlxx.m_mdd=m_strmdd;
m_xlxx.m_crbj=m_strcrbj;
m_xlxx.m_etbj=m_stretbj;
m_xlxx.m_wfjt=m_strwfjt;
m_xlxx.m_jqmc=m_strjqmc;
m_xlxx.m_xcts=m_strxcts;
m_xlxx.m_xllx=m_strxllx;
m_xlxx.m_xlrcap=m_strxlrcap;
m_xlxx.m_fjsm=m_strfjsm;
if(m_xlxx.CanUpdate())
m_xlxx.Update();
AfxMessageBox("修改成功!");
}
catch(CDBException* e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
}
//将用户信息及时更新到ListCtrl中
m_xlxxlist.SetItemText(m_CurUser,0,m_strxlbh);
m_xlxxlist.SetItemText(m_CurUser,1,m_strxlmc);
m_xlxxlist.SetItemText(m_CurUser,2,m_strxlqy);
m_xlxxlist.SetItemText(m_CurUser,3,m_strsfd);
m_xlxxlist.SetItemText(m_CurUser,4,m_strmdd);
m_xlxxlist.SetItemText(m_CurUser,5,m_strcrbj);
m_xlxxlist.SetItemText(m_CurUser,6,m_stretbj);
m_xlxxlist.SetItemText(m_CurUser,7,m_strwfjt);
m_xlxxlist.SetItemText(m_CurUser,8,m_strjqmc);
m_xlxxlist.SetItemText(m_CurUser,9,m_strxcts);
m_xlxxlist.SetItemText(m_CurUser,11,m_strxllx);
m_xlxxlist.SetItemText(m_CurUser,12,m_strxlrcap);
m_xlxxlist.SetItemText(m_CurUser,13,m_strfjsm);
}
void CXLXXDlg::OnDelete()
{
// TODO: Add your control notification handler code here
if(m_xlxx.IsOpen())
m_xlxx.Close();
m_xlxx.m_strFilter.Format("xlbh='%s' ",m_strxlbh);
m_xlxx.Open();
if(m_xlxx.IsEOF())
{
AfxMessageBox("没有该记录!");
return;
}
int index=m_xlxxlist.GetNextItem(-1,LVNI_SELECTED);
m_xlxxlist.DeleteItem(index);
try
{
m_xlxx.Delete();
}
catch(CDBException * e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
return;
}
try
{
m_xlxx.Requery();
}
catch(CDBException * e)
{
AfxMessageBox("Can not Requery!",MB_ICONEXCLAMATION);
e->Delete();
}
m_xlxx.Close();
index=m_xlxxlist.GetNextItem(-1,LVNI_SELECTED);
m_xlxxlist.DeleteItem(index);
}
void CXLXXDlg::ListAll()
{
m_xlxxlist.DeleteAllItems();
if(!m_xlxx.IsOpen())
m_xlxx.Open();
CString strtemp;
int i=0;
m_xlxx.MoveFirst();
while(!m_xlxx.IsEOF())
{
m_xlxxlist.InsertItem(i,strtemp);
m_xlxxlist.SetItemText(i,0,m_xlxx.m_xlbh);
m_xlxxlist.SetItemText(i,1,m_xlxx.m_xlmc);
m_xlxxlist.SetItemText(i,2,m_xlxx.m_xlqy);
m_xlxxlist.SetItemText(i,3,m_xlxx.m_sfd);
m_xlxxlist.SetItemText(i,4,m_xlxx.m_mdd);
m_xlxxlist.SetItemText(i,5,m_xlxx.m_crbj);
m_xlxxlist.SetItemText(i,6,m_xlxx.m_etbj);
m_xlxxlist.SetItemText(i,7,m_xlxx.m_wfjt);
m_xlxxlist.SetItemText(i,8,m_xlxx.m_jqmc);
m_xlxxlist.SetItemText(i,9,m_xlxx.m_xcts);
m_xlxxlist.SetItemText(i,10,m_xlxx.m_xllx);
m_xlxxlist.SetItemText(i,11,m_xlxx.m_xlrcap);
m_xlxxlist.SetItemText(i,12,m_xlxx.m_fjsm);
m_xlxx.MoveNext();
i++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -