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;
}
};
]