#include <wobject/xstring.hpp>
|
#include <xcontrol/xtreeview.hpp>
|
#include <xcontrol/xdwgrid.hpp>
|
#include <wobject/xdouble.hpp>
|
#include <xcontrol/xlayersheet.hpp>
|
|
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
|
#include "viewobject/view.base.hpp"
|
|
using xml = KXMLDOMDocument;
|
class __declspec(dllexport) ForwarderList : public listwin
|
{
|
|
public:
|
//xdwpages dw_pages;
|
//xstring m_QueryTxt;
|
//KXMLDOMDocument m_configDoc;
|
xtreeview tv_1;
|
xstring sType;
|
//static int dw_hWnd;
|
//int m_pageIndex;
|
//int m_pageNumber;
|
//xdwgrid dw_list;
|
public:
|
ForwarderList(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
|
public:
|
static ForwarderList* CreateInstance(void* implPtr, void* hWnd)
|
{
|
ForwarderList* pWin = new ForwarderList(implPtr, (HWND)hWnd);
|
return pWin;
|
}
|
|
|
int SetEntityData(xaserverarg arg)
|
{
|
|
arg.AddArg(L"sType", sType);
|
xml x;
|
|
getUrl(L"/sale/data/LogisticsCode/entity/list", arg.GetString(), x);
|
KXMLDOMElement e = x.documentElement();
|
/*if (e)
|
{
|
if (listwin::dw_pages && e.selectSingleNode(L"@TotalPage"))
|
{
|
xstring s = e.selectSingleNode(L"@TotalPage").text(); //×ÜÊýÁ¿
|
listwin::dw_pages.SetMaxPage(s.toInt());
|
}
|
}*/
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
dw_list.SetReadOnly(true);
|
return 1;
|
}
|
|
|
|
|
int OnRetrieve()
|
{
|
xaserverarg arg;
|
|
arg.AddArg(L"pageindex", xstring(m_pageIndex)); //µÚ¼¸Ò³
|
arg.AddArg(L"pagenumber", xstring(m_pageNumber)); //ÿҳÊýÁ¿
|
//trace(list::m_QueryTxt);
|
arg.AddArg(L"QueryTxt", listwin::m_QueryTxt); //ÿҳÊýÁ¿
|
return SetEntityData(arg);
|
}
|
int OnTreeSelChanged(TEvent* evt, LPARAM p)
|
{
|
NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
|
HTREEITEM hItem = nmtv.itemNew.hItem;
|
listwin::m_QueryTxt = L"";
|
|
HTREEITEM hitem = tv_1.GetSelectedItem();
|
//c_type=dw_type.GetItemLabel(hitem);
|
//Èç¹ûÊǸú½Úµã
|
HTREEITEM roothitem = tv_1.GetRootItem();
|
KXMLDOMElement e = tv_1.GetItemData(hitem);
|
xstring value = e.selectSingleNode(L"@data").text();
|
sType = value + L"";
|
OnRetrieve();
|
return 1;
|
}
|
int OnChangePages(TEvent* evt, LPARAM p)
|
{
|
PAGENMHDR& h = *(PAGENMHDR*)evt->notify.pnmh;
|
int c = h.cur;
|
HCURSOR hCursor = xutil::SetCursorWait();
|
m_pageIndex = c;
|
OnRetrieve();
|
xutil::RestoreCursor(hCursor);
|
return 1;
|
}
|
|
int ViewUpdate(LPARAM pr, xstring updateItem, xaserverarg arg)
|
{
|
if (updateItem == L"del")
|
{
|
int DelRow = dw_list.GetRow();
|
dw_list.DeleteRow(DelRow);
|
|
}
|
|
return 1;
|
}
|
|
int OnAttachEvent()
|
{
|
//»ñµÃÊ÷µÄÑ¡Ôñʼþ
|
AttachEvent(L"tv_1", L"TVN_SELCHANGED", (FEvent)&ForwarderList::OnTreeSelChanged);
|
return 1;
|
}
|
|
int onload()
|
{
|
SetAgent();
|
listwin::m_QueryTxt = L"";
|
m_pageIndex = 1;
|
m_pageNumber = 30;
|
sType = L"0";
|
listwin::onload();
|
|
OnAttachEvent();
|
|
|
|
tv_1 = GetControl(L"tv_1");
|
|
HTREEITEM root = tv_1.GetRootItem();
|
tv_1.ExpandItem(root);
|
dw_list.SetColumnState(L"ForwarderID", false);
|
|
OnRetrieve();
|
return 1;
|
}
|
};
|