?? taxmandlg.cpp
字號:
// TaxManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "HrSys.h"
#include "TaxManDlg.h"
#include "TaxEditDlg.h"
#include "TaxRate.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
/////////////////////////////////////////////////////////////////////////////
// CTaxManDlg dialog
CTaxManDlg::CTaxManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTaxManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTaxManDlg)
m_BasicNumber = 0;
//}}AFX_DATA_INIT
}
void CTaxManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTaxManDlg)
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Text(pDX, IDC_BASICNUMBER_EDIT, m_BasicNumber);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTaxManDlg, CDialog)
//{{AFX_MSG_MAP(CTaxManDlg)
ON_BN_CLICKED(IDC_SET_BUTTON, OnSetButton)
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()
/////////////////////////////////////////////////////////////////////////////
// CTaxManDlg message handlers
void CTaxManDlg::Refresh_Data()
{
//設置記錄源
CString cSource;
// 因為Id等于1的記錄用于保存工資納稅基數,所以只顯示Id<>1的記錄
cSource = "SELECT Id, LowerLimit AS 應納稅金額下限, UpperLimit AS 應納稅金額上限,"
"(CONVERT(varchar,Rate)+'%') AS 稅率, Deduct AS 速算扣除數, Rate"
" FROM TaxRate WHERE Id<>1";
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(140);
vIndex = long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
}
void CTaxManDlg::OnSetButton()
{
UpdateData(TRUE);
// 判斷數據有效性
if(m_BasicNumber <= 0)
{
MessageBox("請輸入工資納稅基數");
return;
}
CTaxRate tax;
tax.LowerLimit = m_BasicNumber;
tax.UpdateBasicNumber();
MessageBox("成功保存工資納稅基數");
}
void CTaxManDlg::OnAddButton()
{
CTaxEditDlg dlg;
dlg.cId = "";
if (dlg.DoModal() == IDOK)
Refresh_Data();
}
void CTaxManDlg::OnModiButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("請選擇要修改的記錄");
return;
}
CTaxEditDlg dlg;
dlg.cId = m_datagrid.GetItem(0); //記錄編號
dlg.m_lower = atoi(m_datagrid.GetItem(1)); //應納稅金額下限
dlg.m_upper = atoi(m_datagrid.GetItem(2)); //應納稅金額上限
dlg.m_rate = atoi(m_datagrid.GetItem(5)); //稅率
dlg.m_deduct = atoi(m_datagrid.GetItem(4)); //速算扣除數
// 打開對話框,編輯納稅記錄
if (dlg.DoModal() == IDOK)
Refresh_Data();
}
void CTaxManDlg::OnDelButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("請選擇要刪除的記錄");
return;
}
if (MessageBox("是否刪除當前記錄","請確定", MB_YESNO) == IDYES)
{
CTaxRate tax;
tax.sql_delete(m_datagrid.GetItem(0));
Refresh_Data();
}
}
BOOL CTaxManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 讀取工資納稅基數
CTaxRate tax;
tax.GetData("1");
m_BasicNumber = tax.LowerLimit;
UpdateData(FALSE);
// 查詢工資稅率記錄
Refresh_Data();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -