ÿþ#include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <wobject/xdouble.hpp> #include <xcontrol/xlayersheet.hpp> #include <xcontrol/xdatetimepick.hpp> #include <xcontrol/xcell.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) PaperCardCheckView : public xframe { public: xcell dw_checkbill; xnode m_agentNode; //Agent Condition public: PaperCardCheckView(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static PaperCardCheckView* CreateInstance(void* implPtr, void* hWnd) { PaperCardCheckView* pWin = new PaperCardCheckView(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNode (anode,m_agentNode); } else { KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } int OnCellClicked(TEvent* evt, LPARAM p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; //if(hdr.col ==1)hdr.idFrom = -1; //if(hdr.col ==2)hdr.idFrom = -1; if(hdr.row==1)hdr.idFrom = -1; return 2; } int OnValid() { int row = dw_checkbill.GetValidRow(); int col = dw_checkbill.GetValidCol(); for(int i=2; i<row; i++) { } return 1; } int OnCellItemChanged(TEvent* evt, LPARAM p) { CELLNMHDR& hdr = *(CELLNMHDR*)evt->notify.pnmh; /*int currentrow; int currentcol; const xstring data; int anchorrow; int anchorcol;*/ if(hdr. currentcol==1 && hdr.data !=L"") { //dw_checkbill.SetItemString(hdr.currentrow,hdr.currentcol, L""); } return 1; } //&q¹pÀo;mYtýQpe int OnSetFocus(TEvent* evt, LPARAM param) { //͑nå]wQag SetAgent(); return 1; } int OnSave() { xstring content = dw_checkbill.GetData(); xstring sguid = publiccode::GetGuid(); xstring sname= sguid ; xstring str = sname.mid(0,2); str = str.toUpper(); xstring suri= L"attachment"+ str; int ret= xaserver::UploadData(suri, sguid+L".jpg", content); if(ret < 0) { alert(L"ÝOX[‡eöNúQ•!"); return 0; } /* xml x=new xml; xaserverarg args ; args.setNativePointer(args.CreateInstance()); args.AddArg(L"myurl",myurl); args.AddArg(L"name",ret); args.AddArg(L"filepath",sname); args.AddArg(L"fileext",L""); args.AddArg(L"filesource",ret); if (xurl::get(L"/sale/data/TDocument3/attachment/add",args.GetString(),x) != 1) { alert(L"ÝOX[úQ•†N!"); return 0; } else { alert(x.text()); //OnRetrieve(); } */ return 1; } int SendCtrlCmd(xcontrol xc, xstring cmd) { SendMessage(xc.GetHWND(), 0x401, (WPARAM)cmd.c_str(), 0); return 1; } //}TäNÑS^ýQpe int OnCmdDispatch(xstring comdid) { if(comdid == L"xmFileOpen") { OpenWindow(L"dev:xpage[trade.document.selectdlg.vx]",0); return 1; } else if(comdid == L"xmFileSave") { return OnSave(); } else if(comdid.left(3) == L"IK_") { xstring cmd = comdid.mid(3, comdid.length()); SendCtrlCmd(GetControl(L"dw_checkbill"),cmd); return 1; } return 0; } //}TäNYt‹NöN int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //Ñ~š[å]wQag¹pûQ‹NöN AttachEvent(L"WM_XCOMMAND", (FEvent)&PaperCardCheckView::OnXCommand); //·ƒÖS&q¹p‹NöN ÿ(uŽN͑nå]wQag AttachEvent(L"WM_SETFOCUS", (FEvent)&PaperCardCheckView::OnSetFocus); AttachEvent(L"dw_checkbill",L"CELL_ITEMCHANGED", (FEvent)&PaperCardCheckView::OnCellItemChanged); AttachEvent(L"dw_checkbill",L"DWV_CLICKED", (FEvent)&PaperCardCheckView::OnCellClicked); return 1; } /* int OnRetrieve() { xml x ; xaserverarg arg ; arg.AddArg(L"xxx",L"xxx"); if (getUrl(L"",arg.GetString(),x)!=1) { trace(x.text()); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { dw_checkbill = GetControl(L"dw_checkbill"); dw_checkbill.openUrl(L"/sale/view/AP/template/PaperCardCheckList"); //dw_checkbill.SetAnchorRowColumn(1,1); //dw_checkbill.SetRowColumn(1,1); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } };