📄 page2.cpp
字号:
// Page2.cpp : implementation file
//
#include "stdafx.h"
#include "cj.h"
#include "Page2.h"
#include "FindRecord.h"
#include "AddRecord.h"
#include "ModifRecord.h"
#include "DelteDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPage2 property page
IMPLEMENT_DYNCREATE(CPage2, CPropertyPage)
CPage2::CPage2() : CPropertyPage(CPage2::IDD)
{
//{{AFX_DATA_INIT(CPage2)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
CPage2::~CPage2()
{
}
void CPage2::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage2)
DDX_Control(pDX, IDC_cmb_XiBie_xijitongji, m_xibie_xijitongji);
DDX_Control(pDX, IDC_LIST2, m_clist2);
DDX_Control(pDX, IDC_LIST1, m_clist1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPage2, CPropertyPage)
//{{AFX_MSG_MAP(CPage2)
ON_BN_CLICKED(IDC_cmdFind_yuanji, OncmdFindyuanji)
ON_BN_CLICKED(IDC_cmdClear_xiji, OncmdClearxiji)
ON_BN_CLICKED(IDC_cmdClear_yuanji, OncmdClearyuanji)
ON_BN_CLICKED(IDC_cmdFind_xiji, OncmdFindxiji)
ON_BN_CLICKED(IDC_cmdMeRen_xiji, OncmdMeRenxiji)
ON_BN_CLICKED(IDC_cmdMeRen_yuanji, OncmdMeRenyuanji)
ON_BN_CLICKED(IDC_cmdPreview_xiji, OncmdPreviewxiji)
ON_BN_CLICKED(IDC_cmdPreview_yuanji, OncmdPreviewyuanji)
ON_BN_CLICKED(IDC_cmdPrint_xiji, OncmdPrintxiji)
ON_BN_CLICKED(IDC_cmdPrint_yuanji, OncmdPrintyuanji)
ON_BN_CLICKED(IDC_cmdRevovate_xiji, OncmdRevovatexiji)
ON_BN_CLICKED(IDC_cmdRevovate_yuanji, OncmdRevovateyuanji)
ON_CBN_SELCHANGE(IDC_cmb_XiBie_xijitongji, OnSelchangecmbXiBiexijitongji)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPage2 message handlers
BOOL CPage2::OnInitDialog()
{
CPropertyPage::OnInitDialog();
if(m_database.IsOpen())
m_database.Close();//发现数据库有冲突,关闭数据库;
m_database.Open(_T("student"));//重新打开数据库;
CRecordset rs(&m_database);
CString sql,strsql,strXibie,strXiBieID;
CString str;
//设置系别下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 系别名称 from 系别");
while(!rs.IsEOF())
{
rs.GetFieldValue("系别名称",str);
m_xibie_xijitongji.AddString(str);
rs.MoveNext();
}
rs.Close();
m_xibie_xijitongji.SetCurSel(0);
//得到系别ID
m_xibie_xijitongji.GetLBText(m_xibie_xijitongji.GetCurSel(),strXibie);
rs.Open(CRecordset::forwardOnly,
"select 系别ID from 系别 where 系别名称='"+strXibie+"'");
rs.GetFieldValue("系别ID",strXiBieID);
rs.Close();
// TODO: Add extra initialization here
m_clist1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES );
m_clist2.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES );
//设置控件List的属性:列名,宽度,文本颜色,背景颜色
m_clist1.InsertColumn(0,"学届",LVCFMT_LEFT);
m_clist1.InsertColumn(1,"学期",LVCFMT_LEFT);
m_clist1.InsertColumn(2,"系别",LVCFMT_LEFT);
m_clist1.InsertColumn(3,"班级总数",LVCFMT_LEFT);
m_clist1.InsertColumn(4,"参加考试人数",LVCFMT_LEFT);
m_clist1.InsertColumn(5,"合格率",LVCFMT_LEFT);
m_clist1.InsertColumn(6,"优秀率",LVCFMT_LEFT);
m_clist1.InsertColumn(7,"优秀人数",LVCFMT_LEFT);
m_clist1.InsertColumn(8,"不合格人数",LVCFMT_LEFT);
RECT rectClist1;
m_clist1.GetWindowRect(&rectClist1);
int Widclist1=rectClist1.right - rectClist1.left;
m_clist1.SetColumnWidth(0,Widclist1/17);
m_clist1.SetColumnWidth(1,Widclist1/18);
m_clist1.SetColumnWidth(2,Widclist1/7);
m_clist1.SetColumnWidth(3,Widclist1/8);
m_clist1.SetColumnWidth(4,Widclist1/7);
m_clist1.SetColumnWidth(5,Widclist1/8);
m_clist1.SetColumnWidth(6,Widclist1/8);
m_clist1.SetColumnWidth(7,Widclist1/8);
m_clist1.SetColumnWidth(8,Widclist1/8);
m_clist1.SetBkColor(RGB(105,140,140));
m_clist1.SetTextColor(RGB(0,121,114));
m_clist2.InsertColumn(0,"学届",LVCFMT_LEFT);
m_clist2.InsertColumn(1,"学期",LVCFMT_LEFT);
m_clist2.InsertColumn(2,"班级名称",LVCFMT_LEFT);
m_clist2.InsertColumn(3,"参加考试人数",LVCFMT_LEFT);
m_clist2.InsertColumn(4,"合格率",LVCFMT_LEFT);
m_clist2.InsertColumn(5,"优秀率",LVCFMT_LEFT);
m_clist2.InsertColumn(6,"合格人数",LVCFMT_LEFT);
m_clist2.InsertColumn(7,"优秀人数",LVCFMT_LEFT);
m_clist2.InsertColumn(8,"不合格人数",LVCFMT_LEFT);
RECT rectClist2;
m_clist1.GetWindowRect(&rectClist2);
int Widclist2=rectClist2.right - rectClist2.left;
m_clist2.SetColumnWidth(0,Widclist2/17);
m_clist2.SetColumnWidth(1,Widclist2/18);
m_clist2.SetColumnWidth(2,Widclist2/7);
m_clist2.SetColumnWidth(3,Widclist2/7);
m_clist2.SetColumnWidth(4,Widclist2/8);
m_clist2.SetColumnWidth(5,Widclist2/8);
m_clist2.SetColumnWidth(6,Widclist2/8);
m_clist2.SetColumnWidth(7,Widclist2/8);
m_clist2.SetColumnWidth(8,Widclist2/8);
m_clist2.SetBkColor(RGB(105,140,140));
m_clist2.SetTextColor(RGB(0,121,114));
DataDisplay();//院级统计数据显示
DataDisPlayXIji();//系级统计数据显示
m_xibie_xijitongji.SetCurSel(0);//初始下拉列表框
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPage2::OncmdFindyuanji()
{
CYuanjiFindDlg yuanjiFindialg;
if(yuanjiFindialg.DoModal()==IDOK)
{
}
}
void CPage2::OncmdClearxiji()
{
m_clist2.DeleteAllItems();
}
void CPage2::OncmdClearyuanji()
{
m_clist1.DeleteAllItems();
}
void CPage2::OncmdFindxiji()
{
CXijiFindDlg xijiFindDlg;
if(xijiFindDlg.DoModal()==IDOK)
{
}
}
void CPage2::OncmdMeRenxiji()
{
DataDisPlayXIji();
}
void CPage2::OncmdMeRenyuanji()
{
DataDisplay();//刷新
}
void CPage2::OncmdPreviewxiji()
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}
void CPage2::OncmdPreviewyuanji()
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}
void CPage2::OncmdPrintxiji()
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}
void CPage2::OncmdPrintyuanji()
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}
void CPage2::OncmdRevovatexiji()
{
// TODO: Add your control notification handler code here
}
void CPage2::OncmdRevovateyuanji()
{
RefreshData();
}
void CPage2::DataDisplay()
{
//////列表框的数据显示//////
if(m_database.IsOpen())
m_database.Close();//发现数据库有冲突,关闭数据库;
m_database.Open(_T("student"));//重新打开数据库;
CRecordset rs(&m_database);
CString sql,strsql,strnian;
int i=0,count,j;
//院级统计的数据显示
m_clist1.DeleteAllItems();//更新
//学期ID,年份
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学期ID,学界ID,系别ID from 成绩表 ORDER BY 学期ID ");
if(rs.GetRecordCount()!=0)
{
while(!rs.IsEOF())
{
rs.GetFieldValue("学期ID",sql);
rs.GetFieldValue("系别ID",strsql);
rs.GetFieldValue("学界ID",strnian);
m_clist1.InsertItem(i,"");
m_clist1.SetItemText(i,0,strnian);
m_clist1.SetItemText(i,1,sql);
m_clist1.SetItemText(i,2,strsql);
rs.MoveNext();
i++;
count=i;
}
}
rs.Close();
//班级总数
long counter;j=0;
for(j=0;j<count;j++)
{
strsql=m_clist1.GetItemText(j,2);//j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select 班级ID from 班级 where 系别ID='"+strsql+"'");
while(!rs.IsEOF())
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -