#include "xcontrol/xreport.hpp" #include "wobject/xwin.hpp" #include "wobject/xaserverarg.hpp" #include "wobject/xstring.hpp" #include "wobject/xurl.hpp" #include "xcontrol/xshtml.hpp" class __declspec(dllexport) startvframevbusiness: public xwin { public: xreport dw_list; public: startvframevbusiness(void* implPtr,HWND hWnd):xwin(implPtr,hWnd){} public: static startvframevbusiness * CreateInstance(void* implPtr,void* hWnd) { startvframevbusiness* pWin = new startvframevbusiness(implPtr,(HWND)hWnd); return pWin; } public: int OnCmdDispatch(const wchar_t* comd) { //alert(comd); return 0; } int OnXCommand(TEvent* evt,int p) { return OnCmdDispatch(evt->xcommand.pStrID); } int ShowDetail(int row) { if(row<0 || row>dw_list.GetRowCount()) return 1; if(!dw_list.GetRowElement(row)) return 1; Hxsoft::XFrame::KXMLDOMElement ele = dw_list. GetRowElement(row); //alert(ele.xml()); dw_list.SetRow(row); string EntityID=ele.getAttribute(L"EntityID"); if(!EntityID || !EntityID[0]) return -1; //SetAgent("letter",GetEntityID(1)); xaserverarg arg; arg.AddArg(L"content",ele.xml()); Hxsoft::XFrame::KXMLDOMDocument doc; if(xurl::get(GetServerUrl(),L"/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { alert(((xstring)L"error:"+doc.xml()).c_str()); return 0; } //alert(doc.xml()); xshtml ht(GetControl(L"taskinfo")); ht.SetContent(doc.xml()); ht.Redraw(); return 1; } //#include int OnClicked(TEvent* evt,int p) { DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh; int row = hdr->row; if(row<1 || row>dw_list.GetRowCount()) return 1; ShowDetail(row); //SetAgent(); return 1; } int init() { xaserverarg arg; KXMLDOMDocument doc; if(xurl::get(GetServerUrl(),L"/sale/data/vpage/vstart/list",arg.GetString(),doc)!=1) { alert(((xstring)L"error:"+doc.xml()).c_str()); return 0; } if(!doc.xml()) return 0; dw_list.Retrieve(doc); dw_list.CreateTree((LPCWSTR)L"node()", 1, 15, 16); /* dw_list.Redraw(); dw_list.SetReadOnly(true); */ return 1; } int OnAttachListon() { AttachEvent(L"WM_XCOMMAND",(FEvent)&startvframevbusiness::OnXCommand,this); AttachEvent(L"tasklist",L"DWV_CLICKED",(FEvent)&startvframevbusiness::OnClicked,this); //AttachEvent("mdilayer", "LYSN_SELECTEDSHEET",OnSheetChanged); ////AttachEvent("mdilayer", "LYSN_CLOSESHEET",OnCloseSheet); return 1; } int onload() { dw_list = GetControl(L"tasklist"); init(); OnAttachListon(); return 1; } };