þÿuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class CommissionExpenseItem : 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; } //q&p¹oÀm;YtQýep int OnSetFocus(ref TEvent evt, int param) { //‘Ín]åQwga SetAgent(); return 1; } int onOk() { xaserverarg arg = GetParam(); arg.AddArg("items", ""); string str = ""; int row = dw_list.GetNextSelectRow(1); while (row > 0 && row <= dw_list.GetRowCount()) { msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); str += ele.xml; ele.Release(); row = dw_list.GetNextSelectRow(row + 1); } if (str != "") arg.AddArg("items", "<data>" + str + "</data>"); CloseWindow(); return 1; } //T}NäSÑ^Qýep int OnCmdDispatch(string comdid) { if (comdid == "xmCancel") { CloseWindow(); return 1; } else if (comdid == "xmQuery") { RetrieveData(); return 1; } else if (comdid == "xmOk") { onOk(); return 1; } return 0; } //T}NäYtN‹Nö int OnXCommand(ref TXCommandEvent evt, int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //~Ñ[š]åQwgap¹QûN‹Nö AttachEvent("WM_XCOMMAND", OnXCommand); //ƒ·SÖq&p¹N‹Nöÿ u(NŽ‘Ín]åQwga AttachEvent("WM_SETFOCUS", OnSetFocus); AttachEvent("dw_list", "DWV_DOUBLECLICKED", onOk); } int RetrieveData() { xcontrol query = GetControl("sl_search"); string queryTxt = query.GetText(); xml x = ViewObject::RetrieveData("/sale/data/Expense3/CommissionExpenseItem", "InvoiceNo", queryTxt); if (x)dw_list.Retrieve(x); dw_list.SetReadOnly(true); dw_list.SetSelectionMode(3); return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Expense3/CommissionItem"); OnAttachEvent(); RetrieveData(); return 1; } int onloaded() { SetAgent(); return 1; } }; ]