【VC开源代码栏目提醒】:网学会员为需要VC开源代码的朋友们搜集整理了AssetsSelectDlg.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.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.AddWay AS 增加方式,a.PostDate AS 提交日期,";
csql += "a.IsAudit,(CASE WHEN a.IsAudit=0 THEN '未审核' WHEN a.IsAudit=1 THEN '审核' END) AS 是否审核";
csql += " FROM Assets a,Types t";
csql += " WHERE a.TypeId=t.TypeId";
// 判断查询条件
if (cSearchValue == "")
cSearchValue = "0";
if(m_type.GetCurSel() == 1) //按类别查询
csql = csql + " AND a.TypeId=" + cSearchValue;
// 根据flag设置查询条件
if(flag == 1) // 查询要分配的固定资产,条件是已经通过审核,且状态为未使用
csql = csql + " AND a.IsAudit=1 AND a.Aid NOT IN (SELECT Aid FROM Distribute)";
else // 条件是资产状态为使用中
csql = csql + " AND a.Status='使用中'";
//MessageBox(csql);
//设置记录源
m_Adodc1.SetRecordSource(csql);
m_Adodc1.Refresh();
//设置列宽度
_variant_t vIndex;
vIndex = long(0);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(1);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(2);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(3);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
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(60);
vIndex = long(13);
m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(14);
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 Types");
m_Adodc2.Refresh();
// 设置显示列和绑定列
m_search.SetListField("TypeName");
m_search.SetBoundColumn("TypeId");
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()
{
AssetsId = m_DataGrid.GetItem(0); //固定资产编号
AssetsName = m_DataGrid.GetItem(1); //固定资产名称
CDialog::OnOK();
}
上一篇:
AssetsManDlg.cpp
下一篇:
西班牙语童话:El Alimento de Dios