use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
|
unit trade
|
[
|
class FlowTermSelect : public xframe
|
{
|
xdwgrid dw_list;
|
string stype;
|
string sdata;
|
string flowid;
|
string datacolumn;
|
string displaycolumn;
|
|
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 OnOK(string comdid)
|
{
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg = GetParam();
|
arg.AddArg("comdid",comdid);
|
|
int row = dw_list.GetNextSelectRow(1);
|
if(row < 1 && dw_list.GetRowCount()==1) row = 1;
|
if (row<1)
|
{
|
alert("ÇëÑ¡ÔñÏî!");
|
return 1;
|
}
|
|
while (row>0)
|
{
|
msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
|
string data = e.selectSingleNode(datacolumn).text+"";
|
string display = e.selectSingleNode(displaycolumn).text+"";
|
arg.AddArg("data",data);
|
arg.AddArg("display",display);
|
row = dw_list.GetNextSelectRow(row + 1);
|
}
|
CloseWindow();
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
if (comdid=="xmOk")
|
{
|
OnOK(comdid);
|
return 1;
|
}
|
else if (comdid=="xmCancel")
|
{
|
CloseWindow();
|
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);
|
}
|
|
int OnRetrieve()
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
|
arg.AddArg("stype",stype);
|
arg.AddArg("sdata",sdata);
|
arg.AddArg("flowID",flowid);
|
|
if (getUrl("/sale/data/Flow3/retrieve/flowex",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("xxx");
|
if(GetParam())
|
{
|
xaserverarg arg = GetParam();
|
stype = arg.GetArgString("stype");
|
sdata = arg.GetArgString("sdata");
|
flowid = arg.GetArgString("flowid");
|
|
datacolumn = arg.GetArgString("datacolumn");
|
displaycolumn = arg.GetArgString("displaycolumn");
|
|
string dwname = arg.GetArgString("dwname");
|
dw_list.openUrl(dwname);
|
OnRetrieve();
|
dw_list.SetSelectionMode(1);
|
}
|
|
OnAttachEvent();
|
|
return 1;
|
}
|
|
int onloaded()
|
{
|
//SetAgent();
|
|
return 1;
|
}
|
};
|
]
|