⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subjectlist.cpp

📁 课程设计的简单Access学生数据库系统
💻 CPP
字号:
// SubjectList.cpp: implementation of the SubjectList class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SM.h"
#include "subject.h"
#include "SubjectList.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//##ModelId=40A481F2014A
SubjectList::SubjectList(CListCtrl *plist):BaseList(plist)
{
	
}

//##ModelId=40A481F20158
SubjectList::~SubjectList()
{

}

//##ModelId=40A481F20149
void SubjectList::Load()
{
	Clear();
	LoadData();
	CString s;
	vector<Subject>::iterator iter;
	long i = 0;
	for(iter=Subjects.begin(), i=0; iter!=Subjects.end(); iter++, i++)
	{
		s.Format("%3d", iter->ID);
		pList->InsertItem(i, s);
		pList->SetItem(i, 1, LVIF_TEXT, iter->Title, 0, 0, 0, 0);
		s.Format("%ld", iter->Credit);
		pList->SetItem(i, 2, LVIF_TEXT, s, 0, 0, 0, 0);
		pList->SetItemData(i, iter->ID);
	}
}

//##ModelId=40A481F20148
void SubjectList::Init()
{
	pList->InsertColumn(0, _T("ID"), LVCFMT_LEFT, 60);
	pList->InsertColumn(1, _T("科目名称"), LVCFMT_LEFT, 120);
	pList->InsertColumn(2, _T("学分"), LVCFMT_LEFT, 80);
}

//##ModelId=40A481F20129
void SubjectList::Clear()
{
	BaseList::Clear();
	Subjects.clear();
}

//##ModelId=40A481F20128
Subject& SubjectList::GetSelectSubject()
{
	ASSERT(IsSelected()==true);
	vector<Subject>::iterator iter;
	long id = GetSelectedData();
	for(iter=Subjects.begin(); iter!=Subjects.end(); iter++)
		if((*iter).ID==id)
			return *iter;
	return *iter;
}

//##ModelId=40A481F2011B
long SubjectList::Search(CString title)
{
	int i = Find(1, title);
	if(i!=-1)
		SetSelected(i);
	return i;
}

//##ModelId=40A481F20119
void SubjectList::SearchID(long id)
{
	CString s;
	s.Format("%ld", id);
	SetSelected(Find(0, s));
}

//##ModelId=40A481F2010B
void SubjectList::LoadData()
{
	Subjects.clear();
	CDaoTableDef TD(&theDatabase);
	TD.Open("subject");
	CDaoRecordset RS;
	RS.Open(&TD);
	while(!RS.IsEOF())
	{
		Subjects.push_back(Subject(RS.GetFieldValue("ID").lVal,
								   V_BSTRT(&RS.GetFieldValue("subject")),
								   RS.GetFieldValue("credit_hour").lVal
								   )
						  );
		RS.MoveNext();
	}
	RS.Close();
	TD.Close();	
}

//##ModelId=40A481F2010A
void SubjectList::InitForTeachingSet()
{
	pList->InsertColumn(0, _T("ID"), LVCFMT_LEFT, 40);
	pList->InsertColumn(1, _T("科目名称"), LVCFMT_LEFT, 100);
	pList->InsertColumn(2, _T("学分"), LVCFMT_LEFT, 50);
}

//##ModelId=40A481F20109
void SubjectList::LoadForTeachingSet()
{
	Clear();
	LoadData();
	CString s;
	vector<Subject>::iterator iter;
	long i = 0;
	for(iter=Subjects.begin(), i=0; iter!=Subjects.end(); iter++, i++)
	{
		s.Format("%3d", iter->ID);
		pList->InsertItem(i, s);
		pList->SetItem(i, 1, LVIF_TEXT, iter->Title, 0, 0, 0, 0);
		s.Format("%ld", iter->Credit);
		pList->SetItem(i, 2, LVIF_TEXT, s, 0, 0, 0, 0);
		pList->SetItemData(i, iter->ID);
	}
	SetSelected(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -