127 lines
2.7 KiB
C++
127 lines
2.7 KiB
C++
#include "stdafx.h"
|
|
#include "PipeDDlg.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CPipeDDlg, CDialog)
|
|
|
|
CPipeDDlg::CPipeDDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CPipeDDlg::IDD, pParent)
|
|
{
|
|
m_dDn = 100;
|
|
m_dOd = 114;
|
|
m_dThk = 0.0;
|
|
m_pDb = NULL;
|
|
m_DNMax = 100;
|
|
}
|
|
|
|
CPipeDDlg::~CPipeDDlg(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CPipeDDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_PIPELIST, m_wndPipeList);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CPipeDDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CPipeDDlg::OnBnClickedOk)
|
|
END_MESSAGE_MAP()
|
|
|
|
void CPipeDDlg::SetDbServer(CUIISQLiteServer* pDb)
|
|
{
|
|
m_pDb = pDb;
|
|
}
|
|
|
|
BOOL CPipeDDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_wndPipeList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
|
m_wndPipeList.InsertColumn(0,_T("무냔殮쓺"),LVCFMT_LEFT,60);
|
|
m_wndPipeList.InsertColumn(1,_T("棍쓺"),LVCFMT_LEFT,60);
|
|
m_wndPipeList.InsertColumn(2,_T("귿비"),LVCFMT_LEFT,60);
|
|
m_wndPipeList.InsertColumn(3,_T("路좆"),LVCFMT_LEFT,60);
|
|
|
|
m_wndPipeList.InsertColumn(4,_T("獵契깃硫"),LVCFMT_LEFT,0);
|
|
m_wndPipeList.InsertColumn(5,_T("膠죕췄甘"),LVCFMT_LEFT,0);
|
|
m_wndPipeList.InsertColumn(6,_T("방목謹뵀"),LVCFMT_LEFT,0);
|
|
|
|
InitPipeList();
|
|
|
|
UpdateData(FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
void CPipeDDlg::InitPipeList()
|
|
{
|
|
if (m_pDb != NULL)
|
|
{
|
|
m_wndPipeList.DeleteAllItems();
|
|
|
|
//무냔殮쓺溝죗
|
|
CString sSQL,sText;
|
|
sSQL.Format(_T("select [무냔殮쓺],[棍쓺],[귿비],[路좆] from AecOD where [무냔殮쓺]=%d order by [무냔殮쓺],[귿비]"),m_DNMax);
|
|
|
|
CUIIValueTable table;
|
|
m_pDb->GetSelData(sSQL,table);
|
|
table.ShowToListCtrl(&m_wndPipeList);
|
|
|
|
CString sDnold,sThick;
|
|
sDnold.Format(_T("%d"),(int)m_dDn);
|
|
|
|
bool bFind = false;
|
|
for (int i = 0;i < m_wndPipeList.GetItemCount();i++)
|
|
{
|
|
sText = m_wndPipeList.GetItemText(i,0);
|
|
sThick = m_wndPipeList.GetItemText(i,2);
|
|
|
|
if (m_dThk > 1.e-3 )
|
|
{
|
|
if (sText.CompareNoCase(sDnold) == 0 && fabs( _ttof(sThick) - m_dThk ) < 1.e-6 )
|
|
{
|
|
m_wndPipeList.SetItemState(i,LVIS_SELECTED,LVIS_SELECTED);
|
|
m_wndPipeList.EnsureVisible(i,TRUE);
|
|
bFind = true;
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (sText.CompareNoCase(sDnold) == 0 )
|
|
{
|
|
m_wndPipeList.SetItemState(i,LVIS_SELECTED,LVIS_SELECTED);
|
|
m_wndPipeList.EnsureVisible(i,TRUE);
|
|
bFind = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!bFind)
|
|
{
|
|
if (m_wndPipeList.GetItemCount() > 0)
|
|
{
|
|
m_wndPipeList.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void CPipeDDlg::OnBnClickedOk()
|
|
{
|
|
POSITION ps = m_wndPipeList.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndPipeList.GetNextSelectedItem(ps);
|
|
m_dDn = _ttof(m_wndPipeList.GetItemText(nItem,0));
|
|
m_dOd = _ttof(m_wndPipeList.GetItemText(nItem,1));
|
|
m_dThk = _ttof(m_wndPipeList.GetItemText(nItem,2));
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("헝朞嶝밗綾방목!"));
|
|
return;
|
|
}
|
|
CDialog::OnOK();
|
|
} |