#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; 
 | 
    } 
 | 
}; 
 |