use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class MessageBusinessWin : public xframe { //xdwgrid dw_list; xdwtable dw_base; xnode m_agentNode; //Agent Condition xwin sheet; bool readonly; string MessageID; string bill; int SetAgent() { return 1; string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //½¹µã¼¤»î´¦Àíº¯Êý int OnSetFocus(ref TEvent evt,int param) { //ÖØÖù¤¾ßÌõ SetAgent(); return 1; } int OnItemChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string colname=hdr.colname; string value = hdr.data; int row = hdr.row; if(colname=="Category") { if(value=="¹©Ó¦ÉÌÉêÇë") { dw_base.SetItemString(1,"Receiver","fdp-011"); dw_base.SetItemString(1,"Subject","ÇëÌí¼Ó"); } return 1; bool changed = false; xml x = ViewObject::RetrieveData("/sale/data/business/message/maint","typ",value); if(x) { string xpage_ = x.GetXmlDoc().documentElement.getAttribute("xpage"); string templaterpt = x.GetXmlDoc().documentElement.getAttribute("template"); if(xpage_ !="") { string s = ""; s += ""; s += ""; SetAgentNodeContent (GetAgentNode("agent"),s); SwitchLayer("sheet2","frame"); sheet = GetChildWin("contentex"); changed = true; } } if(!changed) { sheet = 0; SwitchLayer("sheet1","frame"); } } return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { if(comdid=="xmSend") { if(!readonly) OnSend(); return 1; } else if(comdid=="xmSave") { if(!readonly) OnSave(); return 1; } else if(comdid=="xmCancel") { CloseWindow(); return 1; } if(sheet && comdid !="") { int ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0); if(ret) return ret; } return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnDWClick(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string value = hdr.data; string colname = hdr.colname; if (value == "ÊÕ¼þÈË:") { xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); xaserverarg parg2 = GetParam(); OpenWindow("dev:xpage[UserGroupPersonSelect.vx]",cast(arg2 as int)); if(arg2.GetArgString("comdid")=="xmOk") { string data = arg2.GetArgString("data"); xml x2 = new xml; x2.setNativePointer(xml::CreateInstance()); x2.LoadXml(data); msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item"); trace(x2.GetXml()); int len = nodes.length; string Names = ""; for(int i=0;i= 0) { tm = str2.mid(pos+"EntityID=".length(),64); if(tm.find(" ")>0) tm = tm.left(tm.find(" ")); EntityID=tm; } pos = str2.find("Category="); if(pos >= 0) { tm = str2.mid(pos+"Category=".length(),64); if(tm.find(" ")>0) tm = tm.left(tm.find(" ")); Category=tm; } trace("EntityID:"+EntityID); trace("Category:"+Category); if(EntityID != "" && Category != "") { string eleStr = ""; bill = "EntityID="+EntityID+" Category=" + Category; ShowDetail(eleStr); } } } return 1; } int ShowDetail(string eleStr) { xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",eleStr); xml doc=new xml; doc.setNativePointer(xml::CreateInstance()); if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { trace("error->:"+doc.GetXml()); return 0; } if(doc.GetXml() == "") return -1; htmlctrl ht = GetControl("taskinfo"); ht.SetContent(doc.GetXml()); ht.Redraw(); return 1; } int onload() { dw_base = GetControl("dw_base"); dw_base.openUrl("/sale/view/business3/template/message/maint"); dw_base.SetColHeaderHeight(0); dw_base.SetRowSelectorWidth(0); dw_base.SetHScrollState(false); dw_base.SetVScrollState(false); dw_base.SetItemString(1,"Category","ÆÕͨ"); OnAttachEvent(); readonly = false; MessageID = ""; bill = ""; SetAgent(); if(GetParam()) { xaserverarg arg = GetParam(); MessageID = arg.GetArgString("id"); if(arg.GetArgString("readonly")=="1") readonly=true; OnRetrieve(); if(arg.GetArgString("EntityID")!="") { string str = ""; bill = "EntityID="+arg.GetArgString("EntityID")+" Category=" + arg.GetArgString("EntityName"); ShowDetail(str); } } return 1; } int onloaded() { return 1; } }; ]