use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class levelCustomerv3 : public listwin { xdwgrid dw_goods; xtreeview tv_1; xcombobox ddlb_1; int changeddlb; string m_sType; //type string m_sTypeTxt; //Ñ¡ÖÐÊ÷µÄdata // string m_searchtxt; int PIndex; xnode m_agentNode; //Agent Condition string m_agentCond; //Agent Node int OnPreRetrieve() { xml x = new xml; x.setNativePointer(xml ::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("pageindex", PIndex.toString()); //µÚ¼¸Ò³ arg.AddArg("pagenumber", m_pageNumber.toString()); //ÿҳÊýÁ¿ arg.AddArg("QueryTxt",m_QueryTxt ); arg.AddArg("sType", m_sType);//ûÓвÎÊý arg.AddArg("sTypeTxt", m_sTypeTxt);//ûÓвÎÊý if(getUrl("/sale/data/"+GetEntityName(1)+"/entity/list",arg.GetString(),x)!=1) { alert("³öÏÖ´íÎóÇëÁªÏµ¹ÜÀíÔ±£¡"); return 0; }else { msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement; if(listwin::dw_pages.ptr_native_ && e.selectSingleNode("@TotalPage")) { string s=e.selectSingleNode("@TotalPage").text; //×ÜÊýÁ¿ listwin::dw_pages.SetMaxPage(s.toInt()); } listwin::dw_list.Retrieve(x); listwin::dw_list.Redraw(); listwin::dw_list.SetReadOnly(true); } return 1; } int OnChangePages(ref TNotifyEvent evt,int p) { ref PAGENMHDR h = evt.pnmh; int c = h.cur; int hCursor = xutil::SetCursorWait(); OnRetrieve(); PIndex=c; xutil::RestoreCursor(hCursor); return 1; } int ViewUpdate(int pr,string updateItem,xaserverarg arg) { if(updateItem == "refresh") { xdwpages zz = this.GetControl("pages"); int h = zz.SetCurPage(1); OnRetrieve(); } return 1; } //Ê÷Ñ¡Ôñ int OnTreeSelChanged(ref TNotifyEvent evt,int p) { if (changeddlb != 1) { int wid = tv_1.GetId(); int h=xtreeview::GetSelectedItem(wid); msxml::IXMLDOMElement e = xtreeview::GetItemData(wid,h); string t = e.SelectSingleNode("@type").text; m_sType=t+""; string txt = e.SelectSingleNode("@code").text; if (txt == "") txt = e.SelectSingleNode("@name").text; m_sTypeTxt= txt+""; PIndex= 1; OnRetrieve(); } return 1; } int createSubTree(int wid,int h, msxml::IXMLDOMElement ele) { msxml::IXMLDOMNodeList nlist=ele.SelectNodes("item"); int i; int s=nlist.length; if (s>0) for (i=0; i0) xtreeview::DeleteItem(wid,xtreeview::GetRootItem(wid)); xml x = new xml; x.setNativePointer(x.CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("sType",sType); if(getUrl("/sale/data/"+GetEntityName(1)+"/pref/list/tree",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { msxml::IXMLDOMNodeList nlist=x.GetXmlDoc().SelectNodes("root/item"); int len = nlist.length; if (len >0) { int i; for (i=0;i "); msxml::IXMLDOMElement ele = ux.GetXmlDoc().documentElement; if(arg.GetArgString("ok")=="true") { xml x = new xml; x.setNativePointer(x.CreateInstance()); x.LoadXml(arg.GetArgString("arg")); msxml::IXMLDOMElement uele = x.GetXmlDoc().documentElement; string ParentPartyID = uele.selectSingleNode("//ParentPartyID").text; string ParentPartyName = ""; string GroupPartyID = uele.selectSingleNode("//GroupPartyID").text; string GroupPartyName = ""; if( uele.selectSingleNode("//ParentPartyID/@_displaystring")) ParentPartyName = uele.selectSingleNode("//ParentPartyID/@_displaystring").text; if(uele.selectSingleNode("//GroupPartyID/@_displaystring")) GroupPartyName = uele.selectSingleNode("//GroupPartyID/@_displaystring").text; int row = dw_list.GetNextSelectRow(1); while(row > 0) { dw_list.SetItemString(row,"ParentPartyID",ParentPartyID); dw_list.SetItemDisplayString(row,"ParentPartyID",ParentPartyName); dw_list.SetItemString(row,"GroupPartyID",GroupPartyID); dw_list.SetItemDisplayString(row,"GroupPartyID",GroupPartyName); ele.appendChild(dw_list.GetRowElement(row).cloneNode(-1)); row = dw_list.GetNextSelectRow(row + 1); } dw_list.RedrawEx(); arg.AddArg("content",ele.xml); if (getUrl("/sale/data/CustomerV3/level/update",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); alert("ÉèÖôíÎó!"); return -1; }else { alert("ÉèÖóɹ¦!"); } } return 1; } int PreOnCmdDispatch(string comdid) { if(comdid.find("action:LogOff",0)>=0) return OnLogOff(); if(comdid.find("action:bill.delete",0)>=0) return OnDeleteRow(); //if(comdid=="action:search1") return GridSearch(); if(comdid=="action:bill.refresh") { return OnRetrieve(); } if(comdid=="action:level.customer") { return OnLevelCustomer(); } return 1; } int OnRowChangedEx(ref TNotifyEvent evt,int p) { alert("999"); ref DWNMHDR hdr =cast(evt.pnmh as ref DWNMHDR); int row = hdr.row; msxml::IXMLDOMElement ele = listwin::dw_list.GetRowElement(row); string entity = ele.selectSingleNode("CustomerID").text; xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EntityID",entity); if (getUrl("/sale/data/CustomerV3/entity/customeritem",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_goods.Retrieve(x); dw_goods.Redraw(); dw_goods.SetReadOnly(true); } return 1; } int PostOnAttachEvent() { //»ñµÃÊ÷µÄÑ¡Ôñʼþ AttachEvent("tv_1", "TVN_SELCHANGED",OnTreeSelChanged); AttachEvent("cbx_1","CBN_SELCHANGE",OnSelectDdlb); AttachEvent("pages","PAGE_CLICK",OnChangePages); AttachEvent("dw_list","DWV_RCLICKED",OnRClick);//Êó±êÓÒ¼ü //AttachEvent("dw_list","DWV_CLICKED",OnClick);//Êó±êÓÒ¼ü AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChangedEx); return 1; } int onload() { PIndex=1; listwin::m_QueryTxt =""; //²éѯÌõ¼þ m_sType=""; //type m_sTypeTxt=""; //Ñ¡ÖÐÊ÷µÄdata listwin::onload(); tv_1 = this.GetControl("tv_1"); ddlb_1 = this.GetControl("cbx_1"); changeddlb = 0; OnCreateTree("Source"); dw_goods = GetControl("dw_goods"); dw_goods.openUrl("/sale/view/CustomerV3/template/customer/customeritem"); return 1; } int onloaded() { listwin::onloaded(); string EntityID; int row = dw_list.GetRow(); if(row<0 || row>dw_list.GetRowCount()) return ""; msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); string id = listwin::m_configDoc.selectSingleNode("//entity/EntityID[1]").text; if(ele.selectSingleNode(id)) EntityID = ele.selectSingleNode(id).text; return 1; } }; ]