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

📄 autostumisview.cpp

📁 学校信息管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	switch(m_nDataType)
	{
	case dtStudent:
		if(dlg.DoModal()==IDOK)
			OnViewRefresh();
		break;
	case dtClass:
		if(dlg2.DoModal()==IDOK)
			OnViewRefresh();
		break;
	}
}

void CAutoStuMisView::OnEditModify() 
{
	// TODO: Add your command handler code here
	CDlgStudentEdit dlg;
	CDlgClassEdit dlg2;
	int i,iState,ID;
	int nItemSelected = this->GetListCtrl().GetSelectedCount();//所选表项数
	int nItemCount = this->GetListCtrl().GetItemCount();//表项总数
	for(i=0;i<=nItemCount;i++)
	{
		iState=this->GetListCtrl().GetItemState(i,LVIS_SELECTED);
		if(iState!=0) 
		{
			ID = this->GetListCtrl().GetItemData(i);
			switch(this->m_nDataType)
			{
			case dtStudent:
				dlg.m_nOldID = ID;
				if(dlg.DoModal()==IDOK)
					OnViewRefresh(); 
				break;
			case dtClass:
				dlg2.m_nOldID = ID;
				if(dlg2.DoModal()==IDOK)
					OnViewRefresh();
				break;
			}
		}
	}
}

void CAutoStuMisView::OnEditDelete() 
{
	// TODO: Add your command handler code here
	long ID = 0;
	int i,iState;
	int nItemSelected=this->GetListCtrl().GetSelectedCount();//所选表项数
	int nItemCount=this->GetListCtrl().GetItemCount();//表项总数
	if(nItemSelected<1) return;
	if (IDYES!=MessageBox(_T("你确实要删除这些记录吗?"),_T("重要提示"),MB_YESNO|MB_ICONQUESTION))
		return;
	for(i=nItemCount-1;i>=0;i--)
	{
		iState=this->GetListCtrl().GetItemState(i,LVIS_SELECTED);
		if(iState!=0) 
		{
			ID=this->GetListCtrl().GetItemData(i);
			if(KillItemByID(ID))
				this->GetListCtrl().DeleteItem(i);
		}
	}
}

BOOL CAutoStuMisView::KillItemByID(int ID)
{
	CString sql;
	CStudent *pStu=NULL;
	CClass *pClass=NULL;
	CAutoStuMisApp *pApp = (CAutoStuMisApp*)AfxGetApp(); 
	int i=0;
	switch(m_nDataType)
	{
	case dtStudent:
		sql.Format("Delete From T_Student Where F_ID=%d",ID);
		pApp->m_db.ExecuteSQL(sql);
		for(i=0;i<pApp->m_pDoc->m_arrStudent.GetSize();i++)
		{
			pStu = pApp->m_pDoc->m_arrStudent.GetAt(i);
			if(pStu)
			{
				if(pStu->m_F_ID == ID)
				{
					delete pStu;
					pApp->m_pDoc->m_arrStudent.RemoveAt(i);
					break;
				}
			}
		}
		return true;
		break;
	default:
		sql.Format("Delete From T_Class Where F_ID = %d",ID);
		pApp->m_db.ExecuteSQL(sql);
		return true;
		break;
	}
	return false;
}

void CAutoStuMisView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	OnViewRefresh();
}

void CAutoStuMisView::OnEditSearch() 
{
	// TODO: Add your command handler code here
	
	switch(m_nDataType)
	{
	case dtClass:
		FilterClass();
		break;
	case dtStudent:
		FindStudent();
		break;
	}
}

void CAutoStuMisView::FilterClass()
{
	CDlgFilterClass dlg;
	if(dlg.DoModal()==IDCANCEL)
		return;
	CListCtrl *pListCtrl;
	pListCtrl = &this->GetListCtrl(); 
	pListCtrl->DeleteAllItems();
	while(pListCtrl->DeleteColumn(0)){}
	
	//LV_ITEM lvitem;
	CStudent *pStu;
	CItem *pItem;
	CString sTmp;
	CClass *pClass;
	int i=0,iPos=0,j=0;
	CAutoStuMisDoc *pDoc=this->GetDocument();
	
	pListCtrl->InsertColumn(0,"*",LVCFMT_LEFT,30,-1);
	pListCtrl->InsertColumn(1,"日期",LVCFMT_LEFT,80,-1);
	pListCtrl->InsertColumn(2,"时间",LVCFMT_LEFT,40,-1);
	pListCtrl->InsertColumn(3,"车号",LVCFMT_LEFT,80,-1);
	pListCtrl->InsertColumn(4,"教练",LVCFMT_LEFT,50,-1);
	pListCtrl->InsertColumn(5,"姓名",LVCFMT_LEFT,50,-1);
	pListCtrl->InsertColumn(6,"性别",LVCFMT_LEFT,40,-1);
	pListCtrl->InsertColumn(7,"身份证",LVCFMT_LEFT,100,-1);
	pListCtrl->InsertColumn(8,"联系地址",LVCFMT_LEFT,110,-1);
	pListCtrl->InsertColumn(9,"电话",LVCFMT_LEFT,80,-1);		
	pListCtrl->InsertColumn(10,"上车时间",LVCFMT_LEFT,70,-1);
	pListCtrl->InsertColumn(11,"场考时间",LVCFMT_LEFT,70,-1);
	pListCtrl->InsertColumn(12,"路考时间",LVCFMT_LEFT,70,-1);
	pListCtrl->InsertColumn(13,"考试类型",LVCFMT_LEFT,70,-1);
	pListCtrl->InsertColumn(14,"发证日期",LVCFMT_LEFT,70,-1);
	if(pDoc->ReadClasss(dlg.m_tmStart,dlg.m_tmEnd,dlg.m_sAutoNo,dlg.m_sTeacher)<=0)
		return;
	for(i=0;i<pDoc->m_arrClass.GetSize();i++)
	{   pClass = pDoc->m_arrClass[i]; 
	for(j=0;j<pClass->m_arrStudent.GetSize();j++)
	{
		pStu = pClass->m_arrStudent[j];
		sTmp.Format("%d",pListCtrl->GetItemCount()+1);
		iPos = pListCtrl->InsertItem(pListCtrl->GetItemCount(),sTmp,0);
		sTmp.Format("%d-%d-%d",pClass->m_F_Date.GetYear(),pClass->m_F_Date.GetMonth(),pClass->m_F_Date.GetDay());
		pListCtrl->SetItemText(iPos,1,sTmp);
		if(pClass->m_F_NoonID==0)
			sTmp = "上午";
		else
			sTmp = "下午";
		pListCtrl->SetItemText(iPos,2,sTmp);
		pListCtrl->SetItemText(iPos,3,pClass->m_F_AutoNo);
		pListCtrl->SetItemText(iPos,4,pClass->m_F_Teacher);
		pListCtrl->SetItemText(iPos,5,pStu->m_F_ItemName);
		pListCtrl->SetItemText(iPos,6,pStu->m_F_Sex);
		pListCtrl->SetItemText(iPos,7,pStu->m_F_SN);
		pListCtrl->SetItemText(iPos,8,pStu->m_F_Address);
		pListCtrl->SetItemText(iPos,9,pStu->m_F_Tel);
		//*/日期/时间/车号/教练/姓名/性别/身份证/联系地址/电话/上车时间
		//场考时间/路考时间/考试类型/发证日期
		if(pStu->m_tmUpAuto>0)
		{	
			sTmp.Format("%d-%d-%d",pStu->m_tmUpAuto.GetYear(),pStu->m_tmUpAuto.GetMonth(),pStu->m_tmUpAuto.GetDay());
			pListCtrl->SetItemText(iPos,10,sTmp);
		}
		if(pStu->m_tmExamField>0)
		{
			sTmp.Format("%d-%d-%d",pStu->m_tmExamField.GetYear(),pStu->m_tmExamField.GetMonth(),pStu->m_tmExamField.GetDay());
			pListCtrl->SetItemText(iPos,11,sTmp);
		}
		if(pStu->m_tmExamRoad>0)
		{
			sTmp.Format("%d-%d-%d",pStu->m_tmExamRoad.GetYear(),pStu->m_tmExamRoad.GetMonth(),pStu->m_tmExamRoad.GetDay());
			pListCtrl->SetItemText(iPos,12,sTmp);
		}
		pItem = pDoc->GetItemByID(&pDoc->m_arrExamType,pStu->m_nExamTypeID); 
		if(pItem)
			pListCtrl->SetItemText(iPos,13,pItem->m_F_ItemName); 
		if(pStu->m_tmEnd>0)
		{
			sTmp.Format("%d-%d-%d",pStu->m_tmEnd.GetYear(),pStu->m_tmEnd.GetMonth(),pStu->m_tmEnd.GetDay());
			pListCtrl->SetItemText(iPos,14,sTmp);
		}
		pListCtrl->SetItemData(iPos,pClass->m_F_ID);
	}
	}
	
}

void CAutoStuMisView::FindStudent()
{
	CDlgFindStudent dlg;
	if(dlg.DoModal()==IDCANCEL)
		return;
	int i;
	CListCtrl *pList=&this->GetListCtrl();
	CString sName=_T("");
	for(i=0;i<pList->GetItemCount();i++)
	{
		sName = pList->GetItemText(i,1);
		if(sName.Find(dlg.m_sName,0)>=0)
		{
			pList->SetItemState(i,LVIS_SELECTED,LVIS_SELECTED);
		}
		else
			pList->SetItemState(i,~LVIS_SELECTED,LVIS_SELECTED);
	}
}

void CAutoStuMisView::OnViewCleardata() 
{
	// TODO: Add your command handler code here
	if(MessageBox("你确实要清除所有数据吗?\n清除所有数据后,程序将会自动退出!","重要提示",MB_ICONQUESTION | MB_YESNO ) == IDNO)
		return;
	BOOL bTrans = false;
	CAutoStuMisApp *pApp=(CAutoStuMisApp*)AfxGetApp();
	CString sql;
	try
	{
		pApp->m_db.BeginTrans();
		bTrans = true;
		{
			//pApp->m_db.ExecuteSQL("Delete From T_Class");
			//pApp->m_db.ExecuteSQL("Delete From T_Student");
			TRACE("初始化数据\n");
		}
		pApp->m_db.CommitTrans(); 
		bTrans = false;
	}
	catch(CException e)
	{
		if(bTrans)
			pApp->m_db.Rollback();
		e.ReportError();
	}
	pApp->GetMainWnd()->SendMessage(WM_CLOSE);
}

⌨️ 快捷键说明

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