use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
use "base.view.vd"
|
|
unit trade
|
[
|
class TOSelectDlg : public frame
|
{
|
//xdwgrid dw_list;
|
xlistview lv_view;
|
xlistview lv_view1;
|
int columnCount;
|
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 OnCmdDispatch(string comdid)
|
{
|
if(comdid=="xmCancel")
|
{
|
CloseWindow();
|
return 1;
|
}
|
else if(comdid=="xmOK")
|
{
|
int LVNI_FOCUSED = 0x0001;
|
int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
|
if(nItem < 0) return 1;
|
|
if(GetParam())
|
{
|
msxml::IXMLDOMElement ele = GetItemData(lv_view, nItem);
|
xaserverarg arg = GetParam();
|
arg.AddArg("action","new");
|
arg.AddArg("ID",ele.getAttribute("guid"));
|
arg.AddArg("id",ele.getAttribute("guid"));
|
}
|
//ÖØÖù¤¾ßÌõ
|
CloseWindow();
|
return 1;
|
}
|
return 0;
|
}
|
|
msxml::IXMLDOMElement GetItemData(xlistview lv_item, int hItem)
|
{
|
int LVIF_PARAM = 0x0004;
|
|
lvitem lvItem;
|
lvItem.iItem = hItem;
|
lvItem.iSubItem = 0;
|
lvItem.mask = LVIF_PARAM ;
|
|
xlistview::GetItem(lv_item.GetId(), lvItem);
|
msxml::IXMLDOMElement ele = trust(lvItem.lParam as msxml::IXMLDOMElement);
|
return ele;
|
}
|
|
int OnListViewDoubleClicked(ref TEvent evt,int param)
|
{
|
int LVNI_ALL = 0x0000;
|
int LVNI_FOCUSED = 0x0001;
|
int LVNI_SELECTED = 0x0002;
|
int LVNI_CUT = 0x0004;
|
int LVNI_DROPHILITED = 0x0008;
|
|
int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
|
if(nItem < 0) return 1;
|
|
if(GetParam())
|
{
|
msxml::IXMLDOMElement ele = GetItemData(lv_view, nItem);
|
xaserverarg arg = GetParam();
|
arg.AddArg("action","new");
|
arg.AddArg("ID",ele.getAttribute("guid"));
|
arg.AddArg("id",ele.getAttribute("guid"));
|
}
|
//ÖØÖù¤¾ßÌõ
|
CloseWindow();
|
return 1;
|
}
|
|
int OnListViewDoubleClicked1(ref TEvent evt,int param)
|
{
|
int LVNI_ALL = 0x0000;
|
int LVNI_FOCUSED = 0x0001;
|
int LVNI_SELECTED = 0x0002;
|
int LVNI_CUT = 0x0004;
|
int LVNI_DROPHILITED = 0x0008;
|
|
int nItem =xlistview::GetNextItem(lv_view1.GetId(), -1, LVNI_FOCUSED);
|
if(nItem < 0) return 1;
|
|
if(GetParam())
|
{
|
msxml::IXMLDOMElement ele = GetItemData(lv_view1, nItem);
|
xaserverarg arg = GetParam();
|
arg.AddArg("action","open");
|
arg.AddArg("id",ele.getAttribute("id"));
|
arg.AddArg("ID",ele.getAttribute("id"));
|
arg.AddArg("ItemID",ele.getAttribute("itemid"));
|
}
|
//ÖØÖù¤¾ßÌõ
|
//OnDocumentOpen();
|
CloseWindow();
|
return 1;
|
}
|
|
int SetListViewHeaderColumn(string Url,xlistview lv_item)
|
{
|
const int LVCFMT_LEFT = 0;
|
for(int i=0;i<3;i++) lv_item.DeleteColumn(lv_item.GetId(),1);
|
//if(Url=="")
|
//{
|
lv_item.InsertColumn(lv_item.GetId(),0,"´´½¨ÈÕÆÚ",LVCFMT_LEFT,80,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"´´½¨ÈËÔ±",LVCFMT_LEFT,80,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"Ãû³Æ",0,120,0);
|
columnCount = 3;
|
//}
|
return 1;
|
}
|
|
int SetListViewHeaderColumnItem(string Url,xlistview lv_item)
|
{
|
const int LVCFMT_LEFT = 0;
|
for(int i=0;i<6;i++) lv_item.DeleteColumn(lv_item.GetId(),1);
|
//if(Url=="")
|
//{
|
lv_item.InsertColumn(lv_item.GetId(),0,"×îºóÐÞ¸ÄÈÕÆÚ",LVCFMT_LEFT,80,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"´´½¨ÈÕÆÚ",LVCFMT_LEFT,80,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"´´½¨ÈËÔ±",LVCFMT_LEFT,80,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"״̬",0,70,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"Ö÷Ìâ",0,120,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"񅧏",0,70,0);
|
lv_item.InsertColumn(lv_item.GetId(),0,"ÊÂÎñ",0,60,0);
|
columnCount = 6;
|
//}
|
return 1;
|
}
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt,int param)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
}
|
|
int RetrieveEx()
|
{
|
xml x = ViewObject::RetrieveData("/sale/data/TO/business/document/list");
|
if(x)
|
{
|
msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
|
msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*");
|
int s=nlist.length;
|
if (s>0)
|
{
|
for (int i=0; i<s; i++)
|
{
|
msxml::IXMLDOMElement e=nlist.item(i);
|
string name=e.getAttribute("caption");
|
int nItem = xlistview::InsertItemEx(lv_view1.GetId(),0,name,23,cast(e as int));
|
|
xlistview::SetItemText(lv_view1.GetId(),nItem,2,e.getAttribute("subject"));
|
xlistview::SetItemText(lv_view1.GetId(),nItem,4,e.getAttribute("CreatorID"));
|
xlistview::SetItemText(lv_view1.GetId(),nItem,5,e.getAttribute("CreateDate"));
|
xlistview::SetItemText(lv_view1.GetId(),nItem,6,e.getAttribute("LastUpdateDate"));
|
}
|
}
|
}
|
return 1;
|
}
|
|
int Retrieve(string src)
|
{
|
xml x = ViewObject::RetrieveData("/sale/data/TO/template/list", "role","");
|
if(x)
|
{
|
msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
|
msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*");
|
int s=nlist.length;
|
if (s>0)
|
{
|
for (int i=0; i<s; i++)
|
{
|
msxml::IXMLDOMElement e=nlist.item(i);
|
string name=e.getAttribute("caption");
|
int nItem = xlistview::InsertItemEx(lv_view.GetId(),0,name,23,cast(e as int));
|
|
xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator"));
|
xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate"));
|
}
|
}
|
}
|
return 1;
|
}
|
|
int onload()
|
{
|
lv_view = GetControl("lv_view");
|
xlistview::SetdwStyle(lv_view.GetId(),0);
|
|
lv_view1 = GetControl("lv_view1");
|
//xlistview::SetdwStyle(lv_view1.GetId(),0);
|
|
columnCount = 0;
|
SetListViewHeaderColumn("",lv_view);
|
SetListViewHeaderColumnItem("",lv_view1);
|
AttachEvent("lv_view", "NM_DBLCLK",OnListViewDoubleClicked);
|
AttachEvent("lv_view1", "NM_DBLCLK",OnListViewDoubleClicked1);
|
|
OnAttachEvent();
|
|
Retrieve("");
|
RetrieveEx();
|
|
return 1;
|
}
|
};
|
]
|