📄 searchdlg.cpp
字号:
// SearchDlg.cpp : implementation file
//
#include "stdafx.h"
#include "BranchManager.h"
#include "SearchDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSearchDlg dialog
CSearchDlg::CSearchDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSearchDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSearchDlg)
m_SearchResult = _T("");
m_Edit1Text = _T("");
m_id = _T("");
m_name = _T("");
m_address = _T("");
m_tel = _T("");
m_hostip = _T("");
m_routerip = _T("");
m_atmip = _T("");
//}}AFX_DATA_INIT
}
void CSearchDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSearchDlg)
DDX_Control(pDX, IDC_LIST1, m_SeachListCtrl);
DDX_Text(pDX, IDC_SEARCHRESULT, m_SearchResult);
DDX_Text(pDX, IDC_EDIT1, m_Edit1Text);
DDX_Text(pDX, IDC_EDIT2, m_id);
DDX_Text(pDX, IDC_EDIT3, m_name);
DDX_Text(pDX, IDC_EDIT4, m_address);
DDX_Text(pDX, IDC_EDIT5, m_tel);
DDX_Text(pDX, IDC_EDIT6, m_hostip);
DDX_Text(pDX, IDC_EDIT7, m_routerip);
DDX_Text(pDX, IDC_EDIT8, m_atmip);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSearchDlg, CDialog)
//{{AFX_MSG_MAP(CSearchDlg)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST1, OnColumnclickList1)
ON_BN_CLICKED(IDC_MODIFY, OnModify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSearchDlg message handlers
BOOL CSearchDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CenterWindow();
((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(1);
((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurSel(2);
m_SmallImageList.Create(16,16,FALSE,2,0);
m_LargeImageList.Create(32,32,FALSE,2,0);
m_SmallImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
m_LargeImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON5));
m_SeachListCtrl.SetImageList(&m_SmallImageList,LVSIL_SMALL);
m_SeachListCtrl.SetImageList(&m_LargeImageList,LVSIL_NORMAL);
m_SeachListCtrl.InsertColumn(0,"ID",LVCFMT_CENTER,100);
m_SeachListCtrl.InsertColumn(1,"Name",LVCFMT_CENTER,80);
m_SeachListCtrl.InsertColumn(2,"Address",LVCFMT_CENTER,100);
m_SeachListCtrl.InsertColumn(3,"Tel",LVCFMT_CENTER,70);
m_SeachListCtrl.InsertColumn(4,"HostIp",LVCFMT_CENTER,100);
m_SeachListCtrl.InsertColumn(5,"RouterIp",LVCFMT_CENTER,100);
m_SeachListCtrl.InsertColumn(6,"ATMIp",LVCFMT_CENTER,100);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSearchDlg::OnOK()
{
UpdateData(TRUE);
CString m_str="";
CString m_RadioSelectItem,m_ComboSelectItem;
int m_ComboSelectItemIndex;
if((((CButton*)GetDlgItem(IDC_RADIO1))->GetCheck())==1)
m_RadioSelectItem="ID";
else if((((CButton*)GetDlgItem(IDC_RADIO2))->GetCheck())==1)
m_RadioSelectItem="Name";
else if((((CButton*)GetDlgItem(IDC_RADIO3))->GetCheck())==1)
m_RadioSelectItem="Address";
else if((((CButton*)GetDlgItem(IDC_RADIO4))->GetCheck())==1)
m_RadioSelectItem="Tel";
else if((((CButton*)GetDlgItem(IDC_RADIO5))->GetCheck())==1)
m_RadioSelectItem="HostIp";
else if((((CButton*)GetDlgItem(IDC_RADIO6))->GetCheck())==1)
m_RadioSelectItem="RouterIp";
else if((((CButton*)GetDlgItem(IDC_RADIO7))->GetCheck())==1)
m_RadioSelectItem="AtmIp";
m_str+=m_RadioSelectItem;
m_str+=" ";
//获得查询项目
m_ComboSelectItemIndex=((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();
((CComboBox*)GetDlgItem(IDC_COMBO1))->GetLBText(m_ComboSelectItemIndex,
m_ComboSelectItem);
m_str+=m_ComboSelectItem+" "+"'";
if(m_Edit1Text=="")
{
MessageBox("请输入查询数据!");
return;
}
else
m_str+=CString(m_Edit1Text)+"'";
//以上将获得查询表达式,作为SQL语句的参数。
m_SeachListCtrl.DeleteAllItems();
m_pBranchManagerSet.m_strFilter=m_str;
LoadList();
m_id=m_SeachListCtrl.GetItemText(0,0);
m_name=m_SeachListCtrl.GetItemText(0,1);
m_address=m_SeachListCtrl.GetItemText(0,2);
m_tel=m_SeachListCtrl.GetItemText(0,3);
m_hostip=m_SeachListCtrl.GetItemText(0,4);
m_routerip=m_SeachListCtrl.GetItemText(0,5);
m_atmip=m_SeachListCtrl.GetItemText(0,6);
UpdateData(FALSE);
}
void CSearchDlg::LoadList()
{
char szBuffer[256]="";
m_SeachListCtrl.DeleteAllItems();
try
{
if(!m_pBranchManagerSet.IsOpen())
m_pBranchManagerSet.Open();
for(int nListEntry=0;!m_pBranchManagerSet.IsEOF();nListEntry++)
{
m_SeachListCtrl.InsertItem(nListEntry,LPCTSTR(m_pBranchManagerSet.m_ID),0);
m_SeachListCtrl.SetItemText(nListEntry,1,
m_pBranchManagerSet.m_Name);
m_SeachListCtrl.SetItemText(nListEntry,2,
m_pBranchManagerSet.m_Address);
m_SeachListCtrl.SetItemText(nListEntry,3,
m_pBranchManagerSet.m_Tel);
m_SeachListCtrl.SetItemText(nListEntry,4,
m_pBranchManagerSet.m_HostIp);
m_SeachListCtrl.SetItemText(nListEntry,5,
m_pBranchManagerSet.m_RouterIp);
m_SeachListCtrl.SetItemText(nListEntry,6,
m_pBranchManagerSet.m_AtmIp);
m_pBranchManagerSet.MoveNext();
}
m_pBranchManagerSet.Close();
}
catch(CDaoException* e)
{
char szBuffer [ 256 ];
CString strExceptDesc =
CString ( "JET Database Engine Error:\n\n Error Code: " ) +
CString ( ltoa ( e -> m_pErrorInfo -> m_lErrorCode, szBuffer, 10 ) ) +
CString ( "\nDescription: " ) +
CString ( e -> m_pErrorInfo -> m_strDescription );
AfxMessageBox ( strExceptDesc, MB_ICONEXCLAMATION );
m_pBranchManagerSet.Close ();
return;
}
return;
}
void CSearchDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
int nIndex=-1;
if(m_SeachListCtrl.GetNextItem(-1,LVNI_SELECTED)!=-1)
{
nIndex=m_SeachListCtrl.GetNextItem(-1,LVNI_SELECTED);
m_id=m_SeachListCtrl.GetItemText(nIndex,0);
m_name=m_SeachListCtrl.GetItemText(nIndex,1);
m_address=m_SeachListCtrl.GetItemText(nIndex,2);
m_tel=m_SeachListCtrl.GetItemText(nIndex,3);
m_hostip=m_SeachListCtrl.GetItemText(nIndex,4);
m_routerip=m_SeachListCtrl.GetItemText(nIndex,5);
m_atmip=m_SeachListCtrl.GetItemText(nIndex,6);
UpdateData(FALSE);
}
*pResult = 0;
}
void CSearchDlg::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
switch(pNMListView->iSubItem)
{
case 0:
LoadSortList(CString("[ID]"));
break;
case 1:
LoadSortList(CString("[Name]"));
break;
case 2:
LoadSortList(CString("[Address]"));
break;
case 3:
LoadSortList(CString("[Tel]"));
break;
case 4:
LoadSortList(CString("[HostIp]"));
break;
case 5:
LoadSortList(CString("[RouterIp]"));
break;
case 6:
LoadSortList(CString("[ATMIp]"));
break;
}
*pResult = 0;
}
void CSearchDlg::LoadSortList(CString &strSortBy)
{
m_SeachListCtrl.DeleteAllItems();
m_pBranchManagerSet.m_strSort=strSortBy;
LoadList();
}
void CSearchDlg::OnModify()
{
UpdateData(TRUE);
if(!m_pBranchManagerSet.IsOpen())
m_pBranchManagerSet.Open();
m_pBranchManagerSet.Edit();
m_pBranchManagerSet.m_ID=m_id;
m_pBranchManagerSet.m_Name=m_name;
m_pBranchManagerSet.m_Address=m_address;
m_pBranchManagerSet.m_Tel=m_tel;
m_pBranchManagerSet.m_HostIp=m_hostip;
m_pBranchManagerSet.m_RouterIp=m_routerip;
m_pBranchManagerSet.m_AtmIp=m_atmip;
m_pBranchManagerSet.Update();
m_pBranchManagerSet.Close();
LoadList();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -