use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class PurcharItemSelectWin : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { 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 OnFilter() { string str = GetControl("sl_search").GetText(); xdwgrid dw_obj; dw_list.Filter("*", str); return 1; } int OnOK() { int rw = dw_list.GetNextSelectRow(1); string content = ""; while (rw > 0) { msxml::IXMLDOMElement xe = dw_list.GetRowElement(rw); content += xe.xml; rw = dw_list.GetNextSelectRow(rw + 1); } content += ""; xaserverarg arg = GetParam(); arg.AddArg("process", "ok"); arg.AddArg("result", content); CloseWindow(); } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { if (comdid == "xmSearch") { OnFilter(); return 0; } if (comdid == "xmCancel") { CloseWindow(); return 1; } if (comdid == "xmOK") { /*int rw = dw_list.GetNextSelectRow(1); string content = ""; while (rw>0) { msxml::IXMLDOMElement xe = dw_list.GetRowElement(rw); content += xe.xml; rw = dw_list.GetNextSelectRow(rw + 1); } content += ""; xaserverarg arg = GetParam(); arg.AddArg("process","ok"); arg.AddArg("result",content); CloseWindow();*/ OnOK(); return 1; } return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(ref TXCommandEvent evt, int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //°ó¶¨¹¤¾ßÌõµã»÷ʼþ AttachEvent("WM_XCOMMAND", OnXCommand); //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ AttachEvent("WM_SETFOCUS", OnSetFocus); AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnOK); } int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = GetParam(); if (getUrl("/sale/data/Enquiry/PriceList/ItemSelect", arg.GetString(), x) != 1) { trace(x.GetXmlDoc().text); return -1; } else { dw_list.Retrieve(x); dw_list.Redraw(); } dw_list.SetReadOnly(true); return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Enquiry3/template/purcharpricelist/item"); dw_list.SetReadOnly(true); OnAttachEvent(); OnRetrieve(); dw_list.SetSelectionMode(3); xaserverarg arg = GetParam(); arg.AddArg("process", ""); return 1; } int onloaded() { //SetAgent(); return 1; } }; ]