use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
use "base.view.vd"
|
|
unit trade
|
[
|
class xmQuoteBillList : public xframe
|
{
|
xdwgrid dw_list;
|
|
xnode m_agentNode; //Agent Condition
|
int hObject = 0;
|
|
string QuoteNo;
|
string printStr;
|
|
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 OnRowChanged(ref TNotifyEvent evt,int p)
|
{
|
ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
|
int row = hdr.row;
|
SetAgent();
|
return 1;
|
}
|
|
|
//½¹µã¼¤»î´¦Àíº¯Êý
|
int OnSetFocus(ref TEvent evt,int param)
|
{
|
//ÖØÖù¤¾ßÌõ
|
SetAgent();
|
//trace(GetEntityID(1));
|
return 1;
|
}
|
|
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
if(comdid=="xmImport")
|
{
|
if(GetParam())
|
{
|
xaserverarg arg = GetParam();
|
arg.AddArg("items",printStr);
|
|
arg.AddArg("action","ok");
|
}
|
CloseWindow();
|
return 1;
|
}
|
if(comdid=="xmClose")
|
{
|
|
CloseWindow();
|
return 1;
|
}
|
if(comdid=="xmSearch")
|
{
|
|
OnRetrieve(QuoteNo);
|
return 1;
|
}
|
if(comdid=="xmSelectAll") return SelectAll();
|
if(comdid=="xmUnSelectAll") return UnSelectAll();
|
|
return 0;
|
}
|
|
int OnDwClicked(ref TNotifyEvent evt,int p)
|
{
|
ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
|
char ch;
|
int row = hdr.row;
|
string col = hdr.colname;
|
|
string str = "";
|
if(dw_list.GetGuid(row) !="")
|
{
|
str = dw_list.GetItemString(row,"QuoteLineID");
|
}
|
|
if(dw_list.IsRowSelected(row) & 0xff)
|
{
|
printStr = printStr.replace(" "+str,"");
|
}else
|
{
|
printStr += " " + str;
|
}
|
return 1;
|
}
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt,int param)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int SelectAll()
|
{
|
printStr="";
|
for(int row = 1; row <= dw_list.GetRowCount(); row++)
|
{
|
dw_list.SetItemString(row,"IsSend","1");
|
dw_list.SelectRow(row,true);
|
string str = "";
|
if(dw_list.GetGuid(row) !="")
|
{
|
str = dw_list.GetItemString(row,"QuoteLineID");
|
printStr += " " + str;
|
}
|
}
|
dw_list.Redraw();
|
return 1;
|
}
|
|
int UnSelectAll()
|
{
|
printStr="";
|
for(int row = 1; row <= dw_list.GetRowCount(); row++)
|
{
|
dw_list.SetItemString(row,"IsSend","0");
|
dw_list.SelectRow(row,false);
|
}
|
dw_list.Redraw();
|
return 1;
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged);
|
AttachEvent("dw_list","DWV_CLICKED",OnDwClicked);
|
|
}
|
|
|
int OnRetrieve(string QuoteNo)
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("QuoteNo",QuoteNo);
|
|
if (getUrl("/sale/data/ProductLibrary3/QuoteBillList",arg.GetString(),x)!=1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}else
|
{
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
dw_list.SetSelectionMode(3);
|
dw_list.SetReadOnly(true);
|
return 1;
|
}
|
|
int onload()
|
{
|
dw_list = GetControl("dw_list");
|
dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteBillList");
|
|
|
if(GetParam())
|
{
|
xaserverarg arg = GetParam();
|
QuoteNo=arg.GetArgString("QuoteNo");
|
OnRetrieve(arg.GetArgString("QuoteNo"));
|
}
|
OnRetrieve(QuoteNo);
|
SelectAll();
|
OnAttachEvent();
|
return 1;
|
}
|
|
int onloaded()
|
{
|
SetAgent();
|
|
return 1;
|
}
|
};
|
]
|