NumAlarmDlg.cpp
上传用户:biney012
上传日期:2022-05-09
资源大小:4592k
文件大小:3k
源码类别:

数据库系统

开发平台:

Visual C++

  1. // NumAlarmDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Stock.h"
  5. #include "NumAlarmDlg.h"
  6. #include "COMDEF.H"
  7. #include "Columns.h"
  8. #include "Column.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CNumAlarmDlg dialog
  16. CNumAlarmDlg::CNumAlarmDlg(CWnd* pParent /*=NULL*/)
  17. : CDialog(CNumAlarmDlg::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CNumAlarmDlg)
  20. // NOTE: the ClassWizard will add member initialization here
  21. //}}AFX_DATA_INIT
  22. }
  23. void CNumAlarmDlg::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CNumAlarmDlg)
  27. DDX_Control(pDX, IDC_TYPE_COMBO, m_Type);
  28. DDX_Control(pDX, IDC_ADODC1, m_adodc);
  29. DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CNumAlarmDlg, CDialog)
  33. //{{AFX_MSG_MAP(CNumAlarmDlg)
  34. ON_CBN_SELCHANGE(IDC_TYPE_COMBO, OnSelchangeTypeCombo)
  35. //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CNumAlarmDlg message handlers
  39. void CNumAlarmDlg::Refresh_Data()
  40. {
  41. CString cSource;
  42. //数量少于下线
  43. if (m_Type.GetCurSel() == 0)
  44. {
  45. cSource = "SELECT p.Pname AS 产品名称, t.Total As 库存产品总数,"; 
  46. cSource += " p.PLow As 数量下限, p.PLow - t.Total As 短线产品数量";
  47.         cSource += " FROM Product p, Total_Num t WHERE p.Pid=t.Pid And p.PLow > t.Total";
  48. }
  49. else
  50. {
  51. cSource = "SELECT p.Pname As 产品名称, t.Total As 库存产品总数,";
  52. cSource += "p.PHigh As 数量上限, t.Total - p.PHigh As 超储产品数量";
  53.         cSource += " FROM Product p, Total_Num t WHERE p.Pid=t.Pid And p.PHigh < t.Total";
  54. }
  55. m_adodc.SetRecordSource(cSource);
  56. m_adodc.Refresh();
  57. //设置表格列宽度
  58. _variant_t vIndex;
  59. vIndex = long(0);
  60. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(180);
  61. vIndex = long(1);
  62. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
  63. vIndex = long(2);
  64. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
  65. vIndex = long(3);
  66. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
  67. }
  68. BOOL CNumAlarmDlg::OnInitDialog() 
  69. {
  70. CDialog::OnInitDialog();
  71. //初始化类别组合框
  72. m_Type.SetCurSel(0);
  73. Refresh_Data();
  74. return TRUE;  // return TRUE unless you set the focus to a control
  75.               // EXCEPTION: OCX Property Pages should return FALSE
  76. }
  77. void CNumAlarmDlg::OnSelchangeTypeCombo() 
  78. {
  79. // TODO: Add your control notification handler code here
  80. Refresh_Data();
  81. }