【VC开源代码栏目提醒】:网学会员为广大网友收集整理了,FittingManDlg.cpp,希望对大家有所帮助!
// FittingManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "QuoteManage.h"
#include "FittingManDlg.h"
#include "FittingEditDlg.h"
#include "FittingInfo.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
/////////////////////////////////////////////////////////////////////////////
// CFittingManDlg dialog
extern CUserInfo curUser;
CFittingManDlg::CFittingManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CFittingManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CFittingManDlg)
//}}AFX_DATA_INIT
}
void CFittingManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFittingManDlg)
DDX_Control(pDX, IDC_ADODC1, m_Adodc);
DDX_Control(pDX, IDC_DATAGRID1, m_Datagrid);
DDX_Control(pDX, IDC_ADODC2, m_AdoType);
DDX_Control(pDX, IDC_ADODC4, m_AdoMark);
DDX_Control(pDX, IDC_MARK_DATACOMBO, m_Mark);
DDX_Control(pDX, IDC_TYPE_DATACOMBO, m_Type);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFittingManDlg, CDialog)
//{{AFX_MSG_MAP(CFittingManDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)
ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFittingManDlg message handlers
BOOL CFittingManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 权限控制,如果不是管理员则添加、修改和删除按钮置灰
if (curUser.UserType != 1)
{
GetDlgItem(IDC_ADD_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_DEL_BUTTON)->EnableWindow(FALSE);
}
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFittingManDlg::RefreshData()
{
UpdateData(TRUE);
// 设置Select语句
CString cSource = "SELECT i.FittingId, t.TypeName AS 配件类型,t1.TypeName AS 品牌名称,"
"i.Std AS 型号规格,i.Productor AS 厂商, i.UnitPrice AS 单价, i.InPrice AS 进价,i.Maintain AS 保修期,"
" p.Name AS 供应商 FROM FittingInfo i, Type t, Type t1, ProviderInfo p"
" WHERE i.TypeId = t.TypeId AND i.MarkId = t1.TypeId AND i.ProviderId = p.ProviderId";
// 配件类型
CString cId;
if(m_Type.GetText() != "")
{
cId.Format("%d", atol(m_Type.GetBoundText()));
cSource += " AND i.TypeId = " + cId;
}
// 配件品牌
if(m_Mark.GetText() != "")
{
cId.Format("%d", atol(m_Mark.GetBoundText()));
cSource += " AND i.MarkId = " + cId;
}
//刷新ADO Data控件的记录源
m_Adodc.SetRecordSource(cSource);
m_Adodc.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(60);
vIndex = long(3);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(4);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(5);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(50);
vIndex = long(6);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(50);
vIndex = long(7);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(8);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
}
// 添加按钮
void CFittingManDlg::OnAddButton()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CFittingEditDlg dlg;
//初始化变量
dlg.cFId = "";
dlg.m_UnitPrice = 0;
dlg.m_InPrice = 0;
if(dlg.DoModal() == IDOK)
RefreshData();
}
// 修改按钮
void CFittingManDlg::OnModiButton()
{
// TODO: Add your control notification handler code here
if (m_Adodc.GetRecordset().GetEof())
{
MessageBox("请选择要修改的记录");
return;
}
// 设置FittingEditDlg对话框中的变量
CFittingEditDlg dlg;
dlg.cFId = m_Datagrid.GetItem(0);
dlg.cTypeName = m_Datagrid.GetItem(1);
dlg.cMark = m_Datagrid.GetItem(2);
dlg.m_std = m_Datagrid.GetItem(3);
dlg.m_productor = m_Datagrid.GetItem(4);
dlg.m_UnitPrice = atof(m_Datagrid.GetItem(5));
dlg.m_InPrice = atof(m_Datagrid.GetItem(6));