From f7c01240b27f0ad97feb9115b238d7a44b4b56b2 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期三, 17 七月 2024 17:06:12 +0800
Subject: [PATCH] update

---
 jrj/project/business/SystemSettings/UserImport.cpp |  634 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 320 insertions(+), 314 deletions(-)

diff --git a/jrj/project/business/SystemSettings/UserImport.cpp b/jrj/project/business/SystemSettings/UserImport.cpp
index 801196b..0ef3160 100644
--- a/jrj/project/business/SystemSettings/UserImport.cpp
+++ b/jrj/project/business/SystemSettings/UserImport.cpp
@@ -1,329 +1,335 @@
-use "win.vl"
-use "treeview.vm"
-use "dev:vm[xdwgrid.vm]"
-use "dev:vm[xdwtable.vm]"
-use "pref.vl"
-use "dev:vm[xml.vm]"
-use "dev:vm[xaserverarg.vm]"
-use "dev:vm[xaserver.vm]"
-use "dev:vm[xutil.vm]"
-use "dev:code[SysUser.vx]"
-use "frame.vl"
-use "file.vl"
-unit vbusiness.xpage
-[
-	UserImport is extend frame;
-	about UserImport
-	[
-		field:
-		[
-			SysUser lw_obj;
-			xdwgrid__	dw_list;
-			treeview__		tv_org;
-			xnode__	m_agentNode;	//Agent Condition
-			string	m_agentCond;	//Agent Node
-			string	m_sTxt;
-			string		is_orgid;			
-		]
-		
-		method:
-		[
-			int SetAgent()
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+//use "dev:code[SysUser.vx]"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) UserImport : public xframe
+{
+public:
+
+
+	SysUser lw_obj;
+	xdwgrid	dw_list;
+	xtreeview	tv_org;
+	xnode	m_agentNode;	//Agent Condition
+	xstring	m_agentCond;	//Agent Node
+	xstring	m_sTxt;
+	xstring		is_orgid;
+public:
+	UserImport(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+	static UserImport* CreateInstance(void* implPtr, void* hWnd)
+	{
+		UserImport* pWin = new UserImport(implPtr, (HWND)hWnd);
+		return pWin;
+	}
+	int SetAgent()
+	{
+		xstring xfNodeAgentArea = L"agentarea";
+		xnode anode = GetAgentNode(xfNodeAgentArea);
+		if (m_agentNode)
+		{
+			SetAgentNode(anode, m_agentNode);
+		}
+		else
+		{
+			KXMLDOMElement xframeElement = GetElement();
+			KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*");
+			if (agent)
 			{
-				string xfNodeAgentArea  = "agentarea";
-				xnode__ anode = new xnode__;
-				anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
-				var xframeElement =  GetElement();
-				var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
-				if(agent)
+				xstring s = agent.xml();
+				m_agentNode = SetAgentNode(anode, s);
+			}
+		}
+		return 1;
+	}
+
+	//焦点激活处理函数
+	int OnSetFocus(TEvent* evt, LPARAM param)
+	{
+		SetAgent();
+		//重置工具条
+		return 1;
+	}
+
+	int  OnRetrieve(xstring ls_orgid)
+	{
+
+		xml x;
+
+		xaserverarg arg;
+
+		arg.AddArg(L"OrgID", ls_orgid);
+		//trace(ls_orgid);
+		//if (xaserver::ExecXQuery(GetServerUrl(),L"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
+		if (xurl::get(L"SysUser.config/UserSelect.xq", arg.GetString(), x) == 1)
+		{
+			dw_list.Retrieve(x);
+			dw_list.Redraw();
+		}
+		//trace(x.xml());
+		return 1;
+	}
+
+	int OnOK()
+	{
+		if (GetWinParam())
+		{
+			lw_obj = new SysUser;
+			lw_obj.setNativePointer(GetParam());
+			lw_obj = GetParam();
+		}
+		else
+			return 0;
+
+		int row = dw_list.GetNextSelectRow(1);
+		//trace(row);
+		if (row < 1)
+		{
+			alert(L"请选择人员!");
+			return 1;
+		}
+
+		xstring sPositionID, sPositionName;
+		xstring sOrgID, sOrgName;
+		xstring sJobID, sJobName;
+		int wid = lw_obj.tv_usergroup.GetId();
+		int hitem = tv_org.GetSelectedItem(wid);
+		KXMLDOMElement ele = tv_org.GetItemData(wid, hitem);
+
+
+		while (row > 0)
+		{
+			//trace(row);
+			KXMLDOMElement e = dw_list.GetRowElement(row);
+			trace(e.xml());
+			xstring sEmployeeNo = e.selectSingleNode(L"EmployeeNo").text() + L"";
+			xstring sOldEmpNo = e.selectSingleNode(L"OldEmpNo").text() + L"";
+			xstring sPersonID = e.selectSingleNode(L"PersonID").text() + L"";
+			xstring sPersonName = e.selectSingleNode(L"Name").text() + L"";
+			xstring sPassWord = xutil::MD5(sOldEmpNo);
+
+			/*
+			xml xx;
+			x
+			xaserverarg arg;
+			arg.setNativePointer(arg.CreateInstance());
+			arg.AddArg(L"userno",sOldEmpNo);
+			arg.AddArg(L"password",sPassWord);
+			if(xurl::get(L"/sale/data/SysUser/GetOldPassWord",arg.GetString(),xx)==1)
+			{
+				if(xx.xml()!=L"")
 				{
-					string s = agent.xml;
-					SetAgentNodeContent (anode,s);
+					KXMLDOMElement ex = xx.documentElement();
+					sPassWord = L""+ex.text();
 				}
-				return 1;
-			}
+			}*/
 
-			//焦点激活处理函数
-			int OnSetFocus(ref TEvent evt,int param)
+			int nRow = lw_obj.dw_user.InsertRow(0);
+			lw_obj.dw_user.SetItemString(nRow, L"EmployeeNo", sEmployeeNo);
+			lw_obj.dw_user.SetItemString(nRow, L"UserName", sOldEmpNo);
+			lw_obj.dw_user.SetItemString(nRow, L"PassWord", sPassWord);
+			lw_obj.dw_user.SetItemString(nRow, L"PersonID", sPersonID);
+			lw_obj.dw_user.SetItemDisplayString(nRow, L"PersonID", sPersonName);
+			lw_obj.dw_user.SetItemString(nRow, L"Status", L"Y");
+			lw_obj.dw_user.SetItemDisplayString(nRow, L"Status", L"有效");
+			lw_obj.dw_user.SetItemString(nRow, L"OldEmpNo", sOldEmpNo);
+			/*
+				lw_obj.dw_user.SetItemString(nRow,L"PositionID",sPositionID);
+				lw_obj.dw_user.SetItemDisplayString(nRow,L"PositionID",sPositionName);
+				lw_obj.dw_user.SetItemString(nRow,L"OrgID",sOrgID);
+				lw_obj.dw_user.SetItemDisplayString(nRow,L"OrgID",sOrgName);
+				lw_obj.dw_user.SetItemString(nRow,L"JobID",sJobID);
+				lw_obj.dw_user.SetItemDisplayString(nRow,L"JobID",sJobName);
+
+				lw_obj.dw_user.SetItemString(nRow,L"Status",L"Y");
+				lw_obj.dw_user.SetItemDisplayString(nRow,L"Status",L"有效");
+				xstring sdate = TApp::GetCurDate()+L"";
+				lw_obj.dw_user.SetItemString(nRow,L"StartDate",sdate+L"");
+				lw_obj.dw_user.SetItemString(nRow,L"EndDate",L"2050-12-31");*/
+
+			row = dw_list.GetNextSelectRow(row + 1);
+			//trace(row);
+		}
+		CloseWindow();
+		return 1;
+	}
+	int OnSubTree(xstring id, HTREEITEM parentitem)
+	{
+		int wid = tv_org.GetId();
+		if (tv_org.GetChildItem(wid, parentitem) > 0) return 1;
+		xml x;
+
+		xaserverarg arg;
+		arg.setNativePointer(arg.CreateInstance());
+		arg.AddArg(L"sguid", id);
+		if (xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart", arg.GetString(), x) != 1)
+		{
+			trace(x.xml());
+			return -1;
+		}
+		//trace(x.xml());
+		var list = x.selectNodes(L"//item");
+		int i = 0, s = list.length;
+		KXMLDOMElement xitem;
+		xstring sName;
+		xstring sguid;
+		xstring stype;
+		if (s > 0)
+		{
+			for (i = 0; i < s; i++)
 			{
-				SetAgent();
-				//重置工具条
-				return 1;
-			}
-
-			int  OnRetrieve(string ls_orgid)
-			{
-
-				xml__ x=new xml__;
-				x.setNativePointer(x.CreateInstance());
-				xaserverarg__ arg = new xaserverarg__;
-				arg.setNativePointer(arg.CreateInstance());
-				arg.AddArg("OrgID",ls_orgid);
-				//trace(ls_orgid);
-				//if (xaserver__::ExecXQuery(GetServerUrl(),"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
-				if (url::get("SysUser.config/UserSelect.xq",arg.GetString(),x) == 1)
+				xitem = list.item(i);
+				sName = xitem.selectSingleNode(L"name").text();
+				sguid = xitem.selectSingleNode(L"id").text();
+				stype = xitem.selectSingleNode(L"typ").text();
+				//int curItem = tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
+				int curItem = 0;
+				if (stype == L"Org")
 				{
-					dw_list.Retrieve(x);
-					dw_list.Redraw();
-				}
-				//trace(x.GetXml());
-				return 1;
-			}
-			
-			int OnOK()
-			{
-				if (GetParam())
-				{
-					lw_obj = new SysUser;
-					lw_obj.setNativePointer(GetParam());
-					lw_obj = GetParam();
+					curItem = tv_org.InsertChildItemEx(wid, parentitem, sName, xitem, 15, 4);
+					tv_org.SetItemChild1(wid, curItem, 1);
 				}
 				else
-					return 0;
+				{
+					curItem = tv_org.InsertChildItemEx(wid, parentitem, sName, xitem, 21, 21);
+				}
+				//OnSubTree(sguid,curItem);
+			}
+		}
+		return 1;
+	}
 
-				int row = dw_list.GetNextSelectRow(1);
-				trace(row);
-				if (row<1)
-				{
-					alert("请选择人员!");
-					return 1;
-				}	
-				
-				string sPositionID,sPositionName;
-				string sOrgID,sOrgName;
-				string sJobID,sJobName;
-				int wid = lw_obj.tv_usergroup.GetId();
-				int hitem=treeview__::GetSelectedItem(wid);
-				msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
+	int OnCreateTree(xstring id, int parentitem)
+	{
+		//while (tv_1.GetRootItem()>0)
+		//	tv_1.DeleteItem(tv_1.GetRootItem());				
+		int wid = tv_org.GetId();
+		xml x;
 
-				
-				while (row>0)
-				{	
-					trace(row);
-					msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
-					trace(e.xml);				
-					string sEmployeeNo = e.selectSingleNode("EmployeeNo").text+"";
-					string sOldEmpNo = e.selectSingleNode("OldEmpNo").text+"";				
-					string sPersonID = e.selectSingleNode("PersonID").text+"";
-					string sPersonName = e.selectSingleNode("Name").text+"";
-					string sPassWord = xutil__::MD5(sOldEmpNo);
-				
-					/*
-					xml__ xx = new xml__;
-					xx.setNativePointer(xml__ ::CreateInstance());
-					xaserverarg__ arg=new xaserverarg__;
-					arg.setNativePointer(arg.CreateInstance());	
-					arg.AddArg("userno",sOldEmpNo);
-					arg.AddArg("password",sPassWord);
-					if(url::get("/sale/data/SysUser/GetOldPassWord",arg.GetString(),xx)==1)
-					{
-						if(xx.GetXml()!="")
-						{
-							msxml::IXMLDOMElement ex = xx.GetXmlDoc().documentElement;
-							sPassWord = ""+ex.text;
-						}
-					}*/
+		x.loadXML(L"<item><id>" + id + L"</id><no/><name>凤凰集团</name><typ>Org</typ></item>");
+		//KXMLDOMDocument root = x;
+		//KXMLDOMElement RDoc = x.documentElement();
+		//KXMLDOMElement ele = RDoc.SelectSingleNode(L"//Org");
+		KXMLDOMElement ele = x.selectSingleNode(L"//item");
+		int hItem = tv_org.InsertChildItemEx(wid, 0, L"凤凰集团", ele, 15, 4);
+		tv_org.SetItemChild1(wid, hItem, 1);
+		return 1;
 
-					int nRow = lw_obj.dw_user.InsertRow(0);
-					lw_obj.dw_user.SetItemString(nRow,"EmployeeNo",sEmployeeNo);
-					lw_obj.dw_user.SetItemString(nRow,"UserName",sOldEmpNo);
-					lw_obj.dw_user.SetItemString(nRow,"PassWord",sPassWord);						
-					lw_obj.dw_user.SetItemString(nRow,"PersonID",sPersonID);
-					lw_obj.dw_user.SetItemDisplayString(nRow,"PersonID",sPersonName);
-					lw_obj.dw_user.SetItemString(nRow,"Status","Y");
-					lw_obj.dw_user.SetItemDisplayString(nRow,"Status","有效");
-					lw_obj.dw_user.SetItemString(nRow,"OldEmpNo",sOldEmpNo);						
-				/*
-					lw_obj.dw_user.SetItemString(nRow,"PositionID",sPositionID);
-					lw_obj.dw_user.SetItemDisplayString(nRow,"PositionID",sPositionName);
-					lw_obj.dw_user.SetItemString(nRow,"OrgID",sOrgID);
-					lw_obj.dw_user.SetItemDisplayString(nRow,"OrgID",sOrgName);
-					lw_obj.dw_user.SetItemString(nRow,"JobID",sJobID);
-					lw_obj.dw_user.SetItemDisplayString(nRow,"JobID",sJobName);
-				
-					lw_obj.dw_user.SetItemString(nRow,"Status","Y");
-					lw_obj.dw_user.SetItemDisplayString(nRow,"Status","有效");
-					string sdate = TApp::GetCurDate()+"";
-					lw_obj.dw_user.SetItemString(nRow,"StartDate",sdate+"");
-					lw_obj.dw_user.SetItemString(nRow,"EndDate","2050-12-31");*/
-				
-					row = dw_list.GetNextSelectRow(row + 1);
-					trace(row);
-				}
-				CloseWindow();
-				return 1;
-			}
-			int OnSubTree(string id,int parentitem)
+		/*xaserverarg arg;
+		arg.setNativePointer(arg.CreateInstance());
+		arg.AddArg(L"sguid",id);
+		if(xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
+		{
+			trace(x.xml());
+			return -1;
+		}
+		//trace(x.xml());
+		var list=x.selectNodes(L"//item");
+		int i=0,s=list.length;
+		KXMLDOMElement xitem;
+		xstring sName;
+		xstring sguid;
+		if (s >0)
+		{
+			for (i=0;i<s;i++)
 			{
-				int wid = tv_org.GetId();
-				if (treeview__::GetChildItem(wid,parentitem) >0) return 1;
-				xml__ x = new xml__;
-				x.setNativePointer(xml__ ::CreateInstance());
-				xaserverarg__ arg=new xaserverarg__;
-				arg.setNativePointer(arg.CreateInstance());	
-				arg.AddArg("sguid",id);
-				if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
-				{
-					trace(x.GetXml());
-					return -1;	
-				}
-				//trace(x.GetXml());
-				var list=x.GetXmlDoc().selectNodes("//item");
-				int i=0,s=list.length;
-				msxml::IXMLDOMElement xitem;
-				string sName; 
-				string sguid; 
-				string stype; 
-				if (s >0)
-				{
-					for (i=0;i<s;i++)
-					{
-						xitem= list.item(i);
-						sName = xitem.SelectSingleNode("name").text;
-						sguid = xitem.SelectSingleNode("id").text;
-						stype = xitem.SelectSingleNode("typ").text;
-						//int curItem = tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
-						int curItem=0;
-						if (stype =="Org")
-						{
-							curItem=tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
-							tv_org.SetItemChild1(wid,curItem,1);
-						}
-						else
-							{
-							curItem=tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,21,21);
-						}
-						//OnSubTree(sguid,curItem);
-					}
-				}
-				return 1;
+				xitem= list.item(i);
+				sName = xitem.SelectSingleNode(L"@name").text();
+				sguid = xitem.SelectSingleNode(L"@id").text();
+				int curItem = tv_org.InsertChildItemEx(wid,hItem,sName,xitem,15,4);
+				tv_org.SetItemChild1(wid,curItem,1);
+				//OnSubTree(sguid,curItem);
 			}
-				
-			int OnCreateTree(string id,int parentitem)
-			{
-				//while (tv_1.GetRootItem()>0)
-				//	tv_1.DeleteItem(tv_1.GetRootItem());				
-				int wid = tv_org.GetId();
-				xml__ x = new xml__;
-				x.setNativePointer(xml__ ::CreateInstance());
-				x.LoadXml("<item><id>"+id+"</id><no/><name>凤凰集团</name><typ>Org</typ></item>");
-				//msxml::IXMLDOMDocument root = x.GetXmlDoc();
-				//msxml::IXMLDOMElement RDoc = x.GetXmlDoc().documentElement;
-				//msxml::IXMLDOMElement ele = RDoc.SelectSingleNode("//Org");
-				msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("//item");
-				int hItem = treeview__::InsertChildItemEx(wid,0,"凤凰集团",ele,15,4);
-				treeview__::SetItemChild1(wid,hItem,1);
-				return 1;
-				
-				/*xaserverarg__ arg=new xaserverarg__;
-				arg.setNativePointer(arg.CreateInstance());	
-				arg.AddArg("sguid",id);
-				if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
-				{
-					trace(x.GetXml());
-					return -1;	
-				}
-				//trace(x.GetXml());
-				var list=x.GetXmlDoc().selectNodes("//item");
-				int i=0,s=list.length;
-				msxml::IXMLDOMElement xitem;
-				string sName; 
-				string sguid;
-				if (s >0)
-				{
-					for (i=0;i<s;i++)
-					{
-						xitem= list.item(i);
-						sName = xitem.SelectSingleNode("@name").text;
-						sguid = xitem.SelectSingleNode("@id").text;
-						int curItem = tv_org.InsertChildItemEx(wid,hItem,sName,xitem,15,4);
-						tv_org.SetItemChild1(wid,curItem,1);
-						//OnSubTree(sguid,curItem);
-					}
-				}
-				return 1;*/
-			}
-				
-			int OnTreeExpanding(ref TNotifyEvent evt,int p)	
-			{
-				ref NMTREEVIEW nmtv = evt.pnmh;
-				int sitem = nmtv.itemNew.hItem;
-					
-				int hCursor = xutil__::SetCursorWait();
-				//string id = treeview__::GetItemData(tv_org.GetId(), sitem);
-				msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(),sitem);
-				string id = ele.SelectSingleNode("id").text;
-				OnSubTree(id, sitem);
-				xutil__::RestoreCursor(hCursor);
-				return 1;
-			}
-			
-			int OnTreeSelChanged(ref TXCommandEvent evt,int p)
-			{
-				int wid = tv_org.GetId();
-				int hitem=treeview__::GetSelectedItem(wid);
-				msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
-				if (ele)
-				{
-					string ls_orgid = ele.SelectSingleNode("id").text;
-					is_orgid = ls_orgid;
-					OnRetrieve(ls_orgid);
-				}
-				return 1;
-			}			
-			//命令发布函数
-			int OnCmdDispatch(string comdid)
-			{
-				if (comdid=="cb_import")
-					OnOK();
-				else if (comdid=="cb_close")
-					CloseWindow();
-				return 0;
-			}
-			
-			//命令处理事件
-			int OnXCommand(ref TXCommandEvent evt,int p)
-			{
-				return OnCmdDispatch(evt.pStrID);
-			}
-			
-			int OnAttachEvent()
-			{
-				//绑定工具条点击事件
-				AttachEvent("WM_XCOMMAND",OnXCommand);
-				//获取焦点事件,用于重置工具条
-				AttachEvent("WM_SETFOCUS",OnSetFocus);
-				//获得树的选择事件
-				AttachEvent("tv_org", "TVN_SELCHANGED",OnTreeSelChanged);
-				AttachEvent("tv_org", "TVN_ITEMEXPANDING",OnTreeExpanding);				
-			}
-			
-			int OnInitial()
-			{
-				SetAgent();
-				OnAttachEvent();		
-				return 1;
-			}
-			
-			int onload()
-			{			
-				tv_org = new treeview__ ;
-				tv_org.setNativePointer(this.GetControl("tv_org"));
-				dw_list =  new xdwgrid__;
-				dw_list.setNativePointer(this.GetControl("dw_list"));						
-				dw_list.openUrl("系统用户.vface/template/SysUser/EmpSelect");		
-				dw_list.SetSelectionMode(3); //3
-				dw_list.SetReadOnly(true);
+		}
+		return 1;*/
+	}
 
-				OnInitial();
-				OnCreateTree("00000000-0000-0000-0000-000000000000", 0);
-				int wid = tv_org.GetId();
-				int root = treeview__::GetRootItem(wid);		
-				treeview__::ExpandItem(wid,root);				
-				OnRetrieve("00000000-0000-0000-0000-000000000000");
-				return 1;
-			}
-		]
+	int OnTreeExpanding(TEvent* evt, LPARAM p)
+	{
 		
-	]
-]
\ No newline at end of file
+		NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+		HTREEITEM sitem = nmtv.itemNew.hItem;
+
+		HCURSOR hCursor = xutil::SetCursorWait();
+		//xstring id = tv_org.GetItemData(tv_org.GetId(), sitem);
+		KXMLDOMElement ele = tv_org.GetItemData(tv_org.GetId(), sitem);
+		xstring id = ele.selectSingleNode(L"id").text();
+		OnSubTree(id, sitem);
+		xutil::RestoreCursor(hCursor);
+		return 1;
+	}
+
+	int OnTreeSelChanged(TEvent* evt, LPARAM p)
+	{
+		//int wid = tv_org.GetId();
+		int hitem = tv_org.GetSelectedItem();
+		KXMLDOMElement ele = tv_org.GetItemData(hitem);
+		if (ele)
+		{
+			xstring ls_orgid = ele.selectSingleNode(L"id").text();
+			is_orgid = ls_orgid;
+			OnRetrieve(ls_orgid);
+		}
+		return 1;
+	}
+	//命令发布函数
+	int OnCmdDispatch(xstring comdid)
+	{
+		if (comdid == L"cb_import")
+			OnOK();
+		else if (comdid == L"cb_close")
+			CloseWindow();
+		return 0;
+	}
+
+	//命令处理事件
+	int OnXCommand(TEvent* evt, LPARAM param)
+	{
+		return OnCmdDispatch(evt->xcommand.pStrID);
+	}
+
+	int OnAttachEvent()
+	{
+		//绑定工具条点击事件
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&UserImport::OnXCommand);
+		//获取焦点事件,用于重置工具条
+		AttachEvent(L"WM_SETFOCUS", (FEvent)&UserImport::OnSetFocus);
+		//获得树的选择事件
+		AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&UserImport::OnTreeSelChanged);
+		AttachEvent(L"tv_org", L"TVN_ITEMEXPANDING", (FEvent)&UserImport::OnTreeExpanding);
+		return 1;
+	}
+
+	int OnInitial()
+	{
+		SetAgent();
+		OnAttachEvent();
+		return 1;
+	}
+
+	int onload()
+	{
+		tv_org = new treeview;
+		tv_org.setNativePointer(GetControl(L"tv_org"));
+		dw_list = new xdwgrid;
+		dw_list.setNativePointer(GetControl(L"dw_list"));
+		dw_list.openUrl(L"系统用户.vface/template/SysUser/EmpSelect");
+		dw_list.SetSelectionMode(3); //3
+		dw_list.SetReadOnly(true);
+
+		OnInitial();
+		OnCreateTree(L"00000000-0000-0000-0000-000000000000", 0);
+		//int wid = tv_org.GetId();
+		int root = tv_org.GetRootItem();
+		tv_org.ExpandItem(root);
+		OnRetrieve(L"00000000-0000-0000-0000-000000000000");
+		return 1;
+	}
+};
\ No newline at end of file

--
Gitblit v1.9.3