use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
use "base.view.vd"
|
|
unit trade
|
[
|
class TypeListMaintWin : public xframe
|
{
|
xdwgrid dw_list;
|
xtreeview tv_folder;
|
|
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 OnSave()
|
{
|
xml x = ViewObject::MakeXml();
|
xaserverarg arg = ViewObject::MakeArg();
|
|
xml x1 = ViewObject::MakeXml();
|
x1.LoadXml("<root/>");
|
|
dw_list.DwUpdateAllToEx(x.GetXmlDoc());
|
msxml::IXMLDOMNodeList t = x.GetXmlDoc().selectNodes("root/Supplier[@update.modify]");
|
msxml::IXMLDOMElement e1= x1.GetXmlDoc().documentElement;
|
int len = t.length;
|
for(int i=0;i<len;i++)
|
{
|
e1.appendChild(t.item(i));
|
}
|
arg.AddArg("content",x1.GetXml());
|
if(url::get("/sale/data/SupplierV3/entity/save/v3", arg.GetString(),x)!=1)
|
{
|
string error = x.GetXmlDoc().text;
|
alert(error);
|
return 1;
|
}else
|
{
|
|
if( x.GetXmlDoc().selectSingleNode("ok"))
|
{
|
alert("±£´æ³É¹¦");
|
dw_list.ResetUpdateStatus();
|
}else
|
{
|
alert("±£´æÊ§°Ü!");
|
}
|
}
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
if(comdid=="xmSave")
|
return OnSave();
|
else if(comdid=="xmSearch")
|
return OnRetrieve();
|
|
return 0;
|
}
|
|
int OnRetrieve()
|
{
|
int hItem =tv_folder.GetSelectedItem();
|
string typ = tv_folder.GetItemData(hItem);
|
string searchStr = GetControl("SearchContent").GetText();
|
|
int hCursor = xutil::SetCursorWait();
|
xml x = ViewObject::RetrieveData("/sale/data/SupplierV3/type/list", "sType",typ,"SearchText",searchStr);
|
if(x)
|
dw_list.Retrieve(x);
|
else
|
dw_list.Reset();
|
dw_list.Redraw();
|
xutil::RestoreCursor(hCursor);
|
|
return 1;
|
}
|
|
//Ê÷Ñ¡Ôñ
|
int OnTreeSelChanged(ref TNotifyEvent evt,int p)
|
{
|
ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW);
|
int hItem = nmtv.itemNew.hItem;
|
return OnRetrieve();
|
}
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt,int param)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged);
|
}
|
|
/*
|
int OnRetrieve()
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("xxx","xxx");
|
if (getUrl("",arg.GetString(),x)!=1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}else
|
{
|
//dw_list.Retrieve(x);
|
//dw_list.Redraw();
|
}
|
return 1;
|
}
|
*/
|
|
int onload()
|
{
|
dw_list = GetControl("dw_list");
|
dw_list.openUrl("/sale/view/SupplierV3/template/supplier/mainttypelist");
|
|
tv_folder = GetControl("tv_folder");
|
OnAttachEvent();
|
xtreeview::ExpandItem(tv_folder.GetId(),xtreeview::GetRootItem(tv_folder.GetId()));
|
|
return 1;
|
}
|
|
int onloaded()
|
{
|
SetAgent();
|
|
return 1;
|
}
|
};
|
]
|