?? xjdjjcdlg.cpp
字號:
// XjDjjcDlg.cpp : implementation file
//
#include "stdafx.h"
#include "student.h"
#include "XjDjjcDlg.h"
#include "studentview.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CXjDjjcDlg dialog
CXjDjjcDlg::CXjDjjcDlg(CWnd* pParent /*=NULL*/)
: CDialog(CXjDjjcDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CXjDjjcDlg)
m_IsBj = FALSE;
m_IsJb = FALSE;
m_IsQt = FALSE;
m_IsXh = FALSE;
m_IsXm = FALSE;
m_IsZy = FALSE;
m_Bj = _T("");
m_Jb = _T("");
m_Qt = _T("");
m_Xh = _T("");
m_Xm = _T("");
m_Zy = _T("");
m_Qt_G = _T("");
m_JC_Rq = 0;
m_JC_Lx = _T("");
m_JC_Ly = _T("");
m_JC_Mc = _T("");
m_Sid = _T("");
m_Sxm = _T("");
//}}AFX_DATA_INIT
IsInit = false;
}
void CXjDjjcDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CXjDjjcDlg)
DDX_Control(pDX, IDC_COMBO_JCLX, m_JC_Lx_Con);
DDX_Control(pDX, IDC_LIST_JC, m_JcList);
DDX_Control(pDX, IDC_LIST_STU, m_StuList);
DDX_Control(pDX, IDC_COMBO_QT, m_Qt_G_Con);
DDX_Control(pDX, IDC_COMBO_ZY, m_Zy_Con);
DDX_Control(pDX, IDC_EDIT_BJ, m_Bj_Con);
DDX_Control(pDX, IDC_EDIT_JB, m_Jb_Con);
DDX_Control(pDX, IDC_EDIT_QT, m_Qt_Con);
DDX_Control(pDX, IDC_EDIT_XH, m_Xh_Con);
DDX_Control(pDX, IDC_EDIT_XM, m_Xm_Con);
DDX_Check(pDX, IDC_CHECK_BJ, m_IsBj);
DDX_Check(pDX, IDC_CHECK_JB, m_IsJb);
DDX_Check(pDX, IDC_CHECK_QT, m_IsQt);
DDX_Check(pDX, IDC_CHECK_XH, m_IsXh);
DDX_Check(pDX, IDC_CHECK_XM, m_IsXm);
DDX_Check(pDX, IDC_CHECK_ZY, m_IsZy);
DDX_Text(pDX, IDC_EDIT_BJ, m_Bj);
DDX_Text(pDX, IDC_EDIT_JB, m_Jb);
DDX_Text(pDX, IDC_EDIT_QT, m_Qt);
DDX_Text(pDX, IDC_EDIT_XH, m_Xh);
DDX_Text(pDX, IDC_EDIT_XM, m_Xm);
DDX_CBString(pDX, IDC_COMBO_ZY, m_Zy);
DDX_CBString(pDX, IDC_COMBO_QT, m_Qt_G);
DDX_DateTimeCtrl(pDX, IDC_DATETIME_JCRQ, m_JC_Rq);
DDX_CBString(pDX, IDC_COMBO_JCLX, m_JC_Lx);
DDX_Text(pDX, IDC_EDIT_JCLY, m_JC_Ly);
DDX_Text(pDX, IDC_EDIT_JCMC, m_JC_Mc);
DDX_Text(pDX, IDC_EDIT_SID, m_Sid);
DDX_Text(pDX, IDC_EDIT_SXM, m_Sxm);
//}}AFX_DATA_MAP
if(!IsInit)
{
CRect rect1,rect2;
this->GetClientRect(&rect1);
this->m_parent->GetClientRect(&rect2);
int x= (rect2.Width()-STATIC_MYWIN_LEFT-rect1.Width())/2 +STATIC_MYWIN_LEFT;
int y= (rect2.Height()-STATIC_MYWIN_TOP-rect1.Height())/2 +STATIC_MYWIN_TOP;
if(x<STATIC_MYWIN_LEFT)
{
x = STATIC_MYWIN_LEFT;
}
if(y<STATIC_MYWIN_TOP)
{
y = STATIC_MYWIN_TOP;
}
this->MoveWindow(x,y,rect1.Width(),rect1.Height());
m_Bj_Con.EnableWindow(false);
m_Jb_Con.EnableWindow(false);
m_Qt_G_Con.EnableWindow(false);
m_Qt_Con.EnableWindow(false);
m_Xh_Con.EnableWindow(false);
m_Xm_Con.EnableWindow(false);
m_Zy_Con.EnableWindow(false);
m_parent->m_recSet->Open("SELECT * FROM ZyTable");
CString zname;
while(!m_parent->m_recSet->IsEOF())
{
m_parent->m_recSet->GetFieldValue("Z_Name",zname);
m_Zy_Con.AddString(zname);
m_parent->m_recSet->MoveNext();
}
m_parent->m_recSet->Close();
m_Zy_Con.SetCurSel(0);
m_Qt_G_Con.SetCurSel(0);
m_JC_Lx_Con.SetCurSel(0);
//
LV_COLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
lvc.iSubItem = 0;
lvc.pszText = (char *)"學號";
lvc.cx = 100;
m_StuList.InsertColumn(0,&lvc);
lvc.iSubItem = 1;
lvc.pszText = (char *)"姓名";
lvc.cx = 100;
m_StuList.InsertColumn(1,&lvc);
lvc.iSubItem = 2;
lvc.pszText = (char *)"性別";
lvc.cx = 100;
m_StuList.InsertColumn(2,&lvc);
lvc.iSubItem = 3;
lvc.pszText = (char *)"級別";
lvc.cx = 100;
m_StuList.InsertColumn(3,&lvc);
lvc.iSubItem = 4;
lvc.pszText = (char *)"班級";
lvc.cx = 100;
m_StuList.InsertColumn(4,&lvc);
lvc.iSubItem = 5;
lvc.pszText = (char *)"專業";
lvc.cx = 100;
m_StuList.InsertColumn(5,&lvc);
lvc.iSubItem = 0;
lvc.pszText = (char *)"獎懲ID";
lvc.cx = 100;
m_JcList.InsertColumn(0,&lvc);
lvc.iSubItem = 1;
lvc.pszText = (char *)"獎懲名稱";
lvc.cx = 100;
m_JcList.InsertColumn(1,&lvc);
lvc.iSubItem = 2;
lvc.pszText = (char *)"獎懲類型";
lvc.cx = 100;
m_JcList.InsertColumn(2,&lvc);
lvc.iSubItem = 3;
lvc.pszText = (char *)"獎懲日期";
lvc.cx = 100;
m_JcList.InsertColumn(3,&lvc);
lvc.iSubItem = 4;
lvc.pszText = (char *)"獎懲理由";
lvc.cx = 100;
m_JcList.InsertColumn(4,&lvc);
//
IsInit = true;
}
}
BEGIN_MESSAGE_MAP(CXjDjjcDlg, CDialog)
//{{AFX_MSG_MAP(CXjDjjcDlg)
ON_BN_CLICKED(IDC_BU_CLOSE, OnBuClose)
ON_BN_CLICKED(IDC_BU_S, OnBuS)
ON_BN_CLICKED(IDC_CHECK_BJ, OnCheckBj)
ON_BN_CLICKED(IDC_CHECK_JB, OnCheckJb)
ON_BN_CLICKED(IDC_CHECK_QT, OnCheckQt)
ON_BN_CLICKED(IDC_CHECK_XH, OnCheckXh)
ON_BN_CLICKED(IDC_CHECK_XM, OnCheckXm)
ON_BN_CLICKED(IDC_CHECK_ZY, OnCheckZy)
ON_NOTIFY(NM_CLICK, IDC_LIST_STU, OnClickListStu)
ON_NOTIFY(NM_CLICK, IDC_LIST_JC, OnClickListJc)
ON_BN_CLICKED(IDC_BU_DEL, OnBuDel)
ON_BN_CLICKED(IDC_BU_ADD, OnBuAdd)
ON_BN_CLICKED(IDC_BU_SAVE, OnBuSave)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CXjDjjcDlg message handlers
void CXjDjjcDlg::OnBuClose()
{
// TODO: Add your control notification handler code here
this->m_parent->m_Dlg_XjDjjc = NULL;
LVFINDINFO info;
info.psz = "登記獎懲";
info.flags = LVFI_STRING;
this->m_parent->m_listCtrlGN.DeleteItem(this->m_parent->m_listCtrlGN.FindItem(&info)) ;
this->DestroyWindow();
}
void CXjDjjcDlg::OnBuS()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(!(m_IsBj || m_IsJb || m_IsQt || m_IsXh || m_IsXm || m_IsZy))
{
MessageBox("請選擇查詢條件");
return;
}
sql = "SELECT * FROM student,ZyTable WHERE student.Z_ID = ZyTable.Z_ID";
if(m_IsBj)
{
sql+=" AND S_Bj='"+m_Bj+"'";
}
if(m_IsJb)
{
sql+=" AND S_Jb='"+m_Jb+"'";
}
if(m_IsQt)
{
CString temp;
if(m_Qt_G.Compare("性別")==0)
{
temp = "S_Xb";
}
else if(m_Qt_G.Compare("學籍狀態")==0)
{
temp = "S_Zt";
}
else if(m_Qt_G.Compare("民族")==0)
{
temp = "S_Mz";
}
else if(m_Qt_G.Compare("政治面貌")==0)
{
temp = "S_Zzmm";
}
else if(m_Qt_G.Compare("住宿情況")==0)
{
temp = "S_Zsqk";
}
else if(m_Qt_G.Compare("全部") == 0)
{
temp = "'"+m_Qt+"'";
}
else
{
temp = m_Qt_G;
}
sql+=" AND "+temp+"='"+m_Qt+"'";
}
if(m_IsXh)
{
sql+=" AND S_ID='"+m_Xh+"'";
}
if(m_IsXm)
{
sql+=" AND S_Name='"+m_Xm+"'";
}
if(m_IsZy)
{
sql+=" AND Z_Name='"+m_Zy+"'";
}
m_parent->m_recSet->Open(sql.GetBuffer(200));
if(!m_parent->m_recSet->IsEOF())
{
m_StuList.DeleteAllItems();
CString temp;
COleDateTime dateTemp;
int i=0;
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp1[50];
while(!m_parent->m_recSet->IsEOF())
{
lvitem.iItem = i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp1, 10);
m_StuList.InsertItem(&lvitem);
m_parent->m_recSet->GetFieldValue("S_ID",temp);
m_StuList.SetItemText(i,0,temp);
m_parent->m_recSet->GetFieldValue("S_Name",temp);
m_StuList.SetItemText(i,1,temp);
m_parent->m_recSet->GetFieldValue("S_Xb",temp);
m_StuList.SetItemText(i,2,temp);
m_parent->m_recSet->GetFieldValue("S_Jb",temp);
m_StuList.SetItemText(i,3,temp);
m_parent->m_recSet->GetFieldValue("S_Bj",temp);
m_StuList.SetItemText(i,4,temp);
m_parent->m_recSet->GetFieldValue("Z_Name",temp);
m_StuList.SetItemText(i,5,temp);
i++;
m_parent->m_recSet->MoveNext();
}
}
else
{
MessageBox("未找到此人");
}
m_parent->m_recSet->Close();
}
void CXjDjjcDlg::OnCheckBj()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsBj)
{
m_Bj_Con.EnableWindow(true);
}
else
{
m_Bj_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CXjDjjcDlg::OnCheckJb()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsJb)
{
m_Jb_Con.EnableWindow(true);
}
else
{
m_Jb_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CXjDjjcDlg::OnCheckQt()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsQt)
{
m_Qt_Con.EnableWindow(true);
m_Qt_G_Con.EnableWindow(true);
}
else
{
m_Qt_Con.EnableWindow(false);
m_Qt_G_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CXjDjjcDlg::OnCheckXh()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsXh)
{
m_Xh_Con.EnableWindow(true);
}
else
{
m_Xh_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CXjDjjcDlg::OnCheckXm()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsXm)
{
m_Xm_Con.EnableWindow(true);
}
else
{
m_Xm_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CXjDjjcDlg::OnCheckZy()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsZy)
{
m_Zy_Con.EnableWindow(true);
}
else
{
m_Zy_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CXjDjjcDlg::OnClickListStu(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int index = m_StuList.GetSelectionMark();
if(index<0)
{
return;
}
CString SID =m_StuList.GetItemText(index,0);
RefreshJC(SID);
this->UpdateData(true);
m_Sid = m_StuList.GetItemText(index,0);
m_Sxm = m_StuList.GetItemText(index,1);
this->UpdateData(false);
*pResult = 0;
}
void CXjDjjcDlg::OnClickListJc(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int index = m_JcList.GetSelectionMark();
if(index <0)
{
return;
}
this->UpdateData(true);
m_JC_Lx = m_JcList.GetItemText(index,2);
m_JC_Ly = m_JcList.GetItemText(index,4);
m_JC_Mc = m_JcList.GetItemText(index,1);
COleDateTime dateTemp;
dateTemp.ParseDateTime(m_JcList.GetItemText(index,3));
CTime t(dateTemp.GetYear(),dateTemp.GetMonth(),dateTemp.GetDay());
m_JC_Rq = t;
this->UpdateData(false);
*pResult = 0;
}
void CXjDjjcDlg::OnBuDel()
{
// TODO: Add your control notification handler code here
int index = m_JcList.GetSelectionMark();
if(index <0)
{
MessageBox("請選擇要刪除的行");
return;
}
this->UpdateData(true);
CString JCID= m_JcList.GetItemText(index,0);
CString sqlt;
sqlt.Format("DELETE FROM JcTable WHERE JC_ID=%s",JCID);
m_parent->m_conn->Execute(sqlt);
m_JcList.DeleteItem(index);
this->UpdateData(false);
}
void CXjDjjcDlg::OnBuAdd()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
m_Sid.TrimLeft();
m_Sid.TrimRight();
if(m_Sid == "")
{
MessageBox("請選擇學生");
return;
}
CString sqlt;
sqlt.Format("INSERT INTO JcTable(S_ID,JC_Date,JC_Mc,JC_Yy,JC_Lx) VALUES('%s',DATE(),'%s','%s','%s')"\
,m_Sid,m_JC_Mc,m_JC_Ly,m_JC_Lx);
m_parent->m_conn->Execute(sqlt);
RefreshJC(m_Sid);
this->UpdateData(false);
}
void CXjDjjcDlg::OnBuSave()
{
// TODO: Add your control notification handler code here
int index = m_JcList.GetSelectionMark();
if(index<0)
{
MessageBox("請選擇要修改行");
return;
}
this->UpdateData(true);
m_Sid.TrimLeft();
m_Sid.TrimRight();
if(m_Sid == "")
{
MessageBox("請選擇學生");
return;
}
CString sqlt;
sqlt.Format("UPDATE JcTable SET JC_Lx='%s',JC_Mc='%s',JC_Yy='%s' WHERE JC_ID=%s"\
,m_JC_Lx,m_JC_Mc,m_JC_Ly,m_JcList.GetItemText(index,0));
m_parent->m_conn->Execute(sqlt);
RefreshJC(m_Sid);
this->UpdateData(false);
}
void CXjDjjcDlg::RefreshJC(CString SID)
{
m_JcList.DeleteAllItems();
CString sqlt;
sqlt.Format("SELECT * FROM JcTable WHERE S_ID='%s'",SID);
m_parent->m_recSet->Open(sqlt.GetBuffer(100));
if(!m_parent->m_recSet->IsEOF())
{
CString temp;
COleDateTime dateTemp;
int i=0;
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp1[50];
while(!m_parent->m_recSet->IsEOF())
{
lvitem.iItem = i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp1, 10);
m_JcList.InsertItem(&lvitem);
m_parent->m_recSet->GetFieldValue("JC_ID",temp);
m_JcList.SetItemText(i,0,temp);
m_parent->m_recSet->GetFieldValue("JC_Mc",temp);
m_JcList.SetItemText(i,1,temp);
m_parent->m_recSet->GetFieldValue("JC_Lx",temp);
m_JcList.SetItemText(i,2,temp);
m_parent->m_recSet->GetFieldValue("JC_Date",dateTemp);
m_JcList.SetItemText(i,3,dateTemp.Format("%Y/%m/%d"));
m_parent->m_recSet->GetFieldValue("JC_Yy",temp);
m_JcList.SetItemText(i,4,temp);
i++;
m_parent->m_recSet->MoveNext();
}
}
m_parent->m_recSet->Close();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -