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

📄 chargeseldlg.cpp

📁 VC++做的学校收费管理系统,很有参考价值,附上源码与说明文档.
💻 CPP
字号:
// ChargeSelDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ChargeManage.h"
#include "ChargeSelDlg.h"
#include "StuCharge.h"
#include "DepSelDlg.h"
#include "COMDEF.H"
#include "Columns.h"
#include "Column.h"
#include "_Recordset.h"

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

/////////////////////////////////////////////////////////////////////////////
// CChargeSelDlg dialog


CChargeSelDlg::CChargeSelDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CChargeSelDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChargeSelDlg)
	m_time = 0;
	m_dep = _T("");
	//}}AFX_DATA_INIT
}


void CChargeSelDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChargeSelDlg)
	DDX_Control(pDX, IDC_ADODC1, m_Adodc);
	DDX_Control(pDX, IDC_DATAGRID1, m_Datagrid);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_time);
	DDX_Text(pDX, IDC_DEP_STATIC, m_dep);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CChargeSelDlg, CDialog)
	//{{AFX_MSG_MAP(CChargeSelDlg)
	ON_BN_CLICKED(IDC_RESERCH_BUTTON, OnReserchButton)
	ON_BN_CLICKED(IDC_DEP_BUTTON, OnDepButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChargeSelDlg message handlers

BOOL CChargeSelDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	iDepId = 0;
	m_dep = "全部院系";
	m_time = CTime::GetCurrentTime();
	UpdateData(FALSE);
	RefreshData();
	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}

void CChargeSelDlg::RefreshData()
{
	UpdateData(TRUE);
	
	CString cTime;
	cTime = m_time.Format("%Y-%m-%d");
	
	// 设置SELECT语句
	CString cSource = "SELECT (d1.DepName+'-'+d.DepName) AS 院系名称,s.Name AS 学生姓名,"
		"c.iYear AS 学年, c.Should_Tuition AS 应交学费, c.Fact_Tuition AS 实交学费, "
		"(c.Should_Tuition-c.Fact_Tuition) AS 所欠学费,"
		" c.Should_Incidental AS 应交杂费, c.Fact_Incidental AS 实交杂费,"
		"(c.Should_Incidental-c.Fact_Incidental) AS 所欠杂费,"
		" c.Should_MacTimeFee AS 应交机时费, c.Fact_MacTimeFee AS 实交机时费,"
		"(c.Should_MacTimeFee-c.Fact_MacTimeFee) AS 所欠机时费,"
		" c.Should_Insurance AS 应交保险费, c.Fact_Insurance AS 实交保险费,"
		"(c.Should_Insurance-c.Fact_Insurance) AS 所欠保险费,"
		" c.Should_DormFee AS 应交住宿费, c.Fact_DormFee AS 实交住宿费,"
		"(c.Should_DormFee-c.Fact_DormFee) AS 所欠住宿费,"
		" c.Should_BicycleFee AS 应交存车费, c.Fact_BicycleFee AS 实交存车费,"
		"(c.Should_BicycleFee-c.Fact_BicycleFee) AS 所欠存车费,"
		" c.Should_BookFee AS 应交书费, c.Fact_BookFee AS 实交书费,"
		"(c.Should_BookFee-c.Fact_BookFee) AS 所欠书费,"
		" c.Should_FileFee AS 应交资料费, c.Fact_FileFee AS 实交资料费, "
		"(c.Should_FileFee-c.Fact_FileFee) AS 所欠资料费,"
		" c.Should_Total AS 应交合计, c.Fact_Total AS 实交合计,"
		"(c.Should_Total-c.Fact_Total) AS 所欠合计"
		" FROM StuCharge c, Student s ,DepInfo d,DepInfo d1 "
		" WHERE c.StuId = s.StuId AND s.DepId=d.DepId And d.UID=d1.DepId "
		" And c.ChargeDate = '" + cTime + "'";
	//根据院系编号设置SELECT语句
	CString cDepId;
	cDepId.Format("%d", iDepId);
	if(cDepId != "0")
		cSource += " AND s.DepId = " + cDepId;

	//刷新ADO Data控件的记录源
	m_Adodc.SetRecordSource(cSource);
	m_Adodc.Refresh();
	
	//设置列宽度
	_variant_t vIndex;
	vIndex = long(0);
	m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
	vIndex = long(1);
	m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
	for(int i=2; i<30; i++)
	{
		vIndex = long(i);
		m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
	}
}

// 选择院系
void CChargeSelDlg::OnDepButton() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	
	//打开选择部门对话框
	CDepSelDlg dlg;
	dlg.DoModal();
	
	//从对话框中读取选择部门的信息
	iDepId = dlg.DepId;
	m_dep = dlg.DepName;
	UpdateData(FALSE);
}

// 查询按钮
void CChargeSelDlg::OnReserchButton() 
{
	// TODO: Add your control notification handler code here
	RefreshData();
}

⌨️ 快捷键说明

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