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

📄 assetsselectdlg.cpp

📁 完整的资产管理系统
💻 CPP
字号:
// AssetsSelectDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AssetsMan.h"
#include "AssetsSelectDlg.h"
#include "Assets.h"
#include "columns.h"
#include "column.h"
#include "COMDEF.H"
#include "_recordset.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAssetsSelectDlg dialog


CAssetsSelectDlg::CAssetsSelectDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAssetsSelectDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAssetsSelectDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CAssetsSelectDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAssetsSelectDlg)
	DDX_Control(pDX, IDC_TYPE_COMBO, m_type);
	DDX_Control(pDX, IDC_ADODC1, m_Adodc1);
	DDX_Control(pDX, IDC_ADODC2, m_Adodc2);
	DDX_Control(pDX, IDC_DATAGRID1, m_DataGrid);
	DDX_Control(pDX, IDC_SEARCH_DATACOMBO, m_search);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAssetsSelectDlg, CDialog)
	//{{AFX_MSG_MAP(CAssetsSelectDlg)
	ON_CBN_SELCHANGE(IDC_TYPE_COMBO, OnSelchangeTypeCombo)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAssetsSelectDlg message handlers
// 刷新DataGrid数据,显示所有固定资产信息
void CAssetsSelectDlg::RefreshData()
{
	CString csql;
	csql = "SELECT a.Id AS 编号,a.Aid AS 资产编号,a.Aname AS 资产名称,a.TypeId,";
	csql += "t.TypeName AS 类型,a.Status AS 状态,a.Model AS 型号,a.Producer AS 生产厂商,";
	csql += "a.UseDate AS 使用日期,a.UsedYear AS 使用年限,a.OrgPrice AS 原值,a.Ratio AS 残值率,";
	csql += "a.DeptId, d.DeptName AS 使用部门,a.RepPerson AS 负责人,";
	csql += "a.AddWay AS 增加方式,a.PostDate AS 提交日期,";
	csql += "a.IsAudit,(CASE WHEN a.IsAudit=0 THEN '未审核' WHEN a.IsAudit=1 THEN '审核' WHEN a.IsAudit=2 THEN '变更' END) AS 是否审核";
	csql += " FROM Assets a,Departments d,Type t ";
	csql += " WHERE a.TypeId=t.TypeId AND a.DeptId=d.DeptId";
	// 判断查询条件
	if (cSearchValue == "")
		cSearchValue = "0";
	if(m_type.GetCurSel() == 1)			//按类别查询
		csql = csql + " AND a.TypeId=" + cSearchValue;
	else if(m_type.GetCurSel() == 2)		//按部门查询
		csql = csql + " AND a.DeptId=" + cSearchValue;
//MessageBox(csql);
	//设置记录源
	m_Adodc1.SetRecordSource(csql);
	m_Adodc1.Refresh();

	//设置列宽度
	_variant_t vIndex;
	vIndex = long(0);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(1);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(2);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(3);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(4);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(5);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(6);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(7);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(100);
	vIndex = long(8);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(70);
	vIndex = long(9);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(10);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(11);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(12);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(13);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(14);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(15);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(16);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(70);
	vIndex = long(17);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(18);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
}

BOOL CAssetsSelectDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// 显示全部固定资产信息
	m_type.SetCurSel(0);
	// 全部情况下隐藏列表 
	GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_HIDE);
	// 刷新列表
	RefreshData();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAssetsSelectDlg::OnSelchangeTypeCombo() 
{
	int iSel;
	iSel = m_type.GetCurSel();  //读取选择的查询类别	
	// 置查询列表初始为空
	m_search.SetText("");
	if (iSel == 1)			// 按类别查询
	{
		// 设置数据源(为查询列表提供数据源)
		m_Adodc2.SetRecordSource("SELECT * FROM Type");
		m_Adodc2.Refresh();
		// 设置显示列和绑定列
		m_search.SetListField("TypeName");
		m_search.SetBoundColumn("TypeId");
		m_search.Refresh();
		// 显示列表
		GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_SHOW);
	}
	else if (iSel == 2)		// 按部门查询
	{
		// 设置数据源(为查询列表提供数据源)
		m_Adodc2.SetRecordSource("SELECT * FROM Departments");
		m_Adodc2.Refresh();
		// 设置显示列和绑定列
		m_search.SetListField("DeptName");
		m_search.SetBoundColumn("DeptId");
		m_search.Refresh();
		GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_SHOW);
	}
	else					// 显示全部资产记录
	{
		// 隐藏列表 
		GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_HIDE);
	}
	UpdateData(FALSE);	
	//刷新记录
	RefreshData();	
}

BEGIN_EVENTSINK_MAP(CAssetsSelectDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CAssetsSelectDlg)
	ON_EVENT(CAssetsSelectDlg, IDC_SEARCH_DATACOMBO, -600 /* Click */, OnClickSearchDatacombo, VTS_I2)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CAssetsSelectDlg::OnClickSearchDatacombo(short Area) 
{
	// 得到选择的列值,刷新记录
	cSearchValue = m_search.GetBoundText();
	RefreshData();	
}

void CAssetsSelectDlg::OnOK() 
{
	CardId = m_DataGrid.GetItem(0);			//记录编号
	AssetsId = m_DataGrid.GetItem(1);		//固定资产编号
	AssetsName = m_DataGrid.GetItem(2);		//固定资产名称
	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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