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[pa.tpp]" use "dev:vm[control.vm]" #include "dev:xpage[SysUser.vx]" unit vbusiness.xpage tpp [ class pa { string note; int hitem; int row; int wid; treeview__ tv; xdwgrid__ dw; win__ pwin; } ] unit vbusiness.xpage [ AddUser is extend win__; about AddUser [ control: method: [ pa p; int SetAgent() { return 1; } //½¹µã¼¤»î´¦Àíº¯Êý int OnSetFocus(ref TEvent evt,int param) { int SetAgent(); //ÖØÖù¤¾ßÌõ return 1; } int AppendItem(xml__ x,msxml::IXMLDOMElement r,string item){ var e = x.GetXmlDoc().createElement(item); //xcontrol xc = GetControl(item); control__ xc = new control__; xc.setNativePointer(this.GetControl(item)); e.text = xc.GetText(); r.appendChild(e); return 1; } int OnSave() { control__ xc = new control__; /*xc=GetControl("EmployeeNo"); if (xc.GetText()=="") { alert("Óû§´úÂë²»ÄÜΪ¿Õ£¡"); return 0; }*/ xc=GetControl("UserName"); if (xc.GetText()=="") { alert("Óû§Ãû³Æ²»ÄÜΪ¿Õ£¡"); return 0; } xml__ x = new xml__; x.setNativePointer(x.CreateInstance()); xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); x.LoadXml(""); var r = x.GetXmlDoc().documentElement; string guid; string guid1; if (p.note=="ÐÞ¸Ä") { msxml::IXMLDOMElement ele=xdwgrid__::GetRowElement(p.row); guid = ele.selectSingleNode("UserID").text; //guid=ele.getAttribute("guid"); //if (ele.selectSingleNode("empid")) // r.appendChild(ele.selectSingleNode("empid")); } else guid=win__::GetGuid(); //guid1=win32::GetGuid(); r.setAttribute("guid",guid); //r.setAttribute("guid1",guid1); //AppendItem(x,r,"EmployeeNo"); AppendItem(x,r,"UserName"); AppendItem(x,r,"PassWord"); AppendItem(x,r,"Status"); //trace(x.GetXml()); //return 1; arg.AddArg("content",x.GetXml()); int ls_item = treeview__::GetSelectedItem(p.wid); msxml::IXMLDOMElement e=treeview__::GetItemData(p.wid,ls_item); string gpguid=e.selectSingleNode("@guid").text; arg.AddArg("gpguid",gpguid); if (xaserver__::ExecXAction(GetServerUrl(),"[update.User.xa]",arg.GetString())==1) { alert("ok"); if (p.note=="ÐÞ¸Ä") { xdwgrid__ dw = new xdwgrid__; //dw.setNativePointer(p.dw_user); int row = dw.GetNextSelectRow(0); //dw.SetItemString(row,"UserName",""); msxml::IXMLDOMElement e; e = x.GetXmlDoc().documentElement; string ls_pass = e.selectSingleNode("PassWord").text; string ls_status = e.selectSingleNode("Status").text; dw.SetItemString(row,"PassWord",ls_pass); dw.SetItemString(row,"Status",ls_status); dw.Redraw(); } else { //---------- //p.pwin.OnTreeSelChanged(); } } else { alert("±£´æ³ö´í!"); return 0; } return 1; } int ClearItem(string item) { control__ xc = new control__; xc.setNativePointer(GetControl(item)); xc.SetText(""); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { if (comdid=="cb_cancel") CloseWindow(); else if(comdid=="cb_ok") { int r=OnSave(); if (r==1) CloseWindow(); } else if(comdid=="cb_save") { OnSave(); p.note="ÐÂÔö"; win__::SetWindowText(GetHWND(),p.note+"Óû§"); ClearItem("userno"); ClearItem("username"); ClearItem("pwd"); } return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //°ó¶¨¹¤¾ßÌõµã»÷ʼþ AttachEvent("WM_XCOMMAND",OnXCommand); //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ AttachEvent("WM_SETFOCUS",OnSetFocus); } int OnInitial() { SetAgent(); OnAttachEvent(); return 1; } int SetItem(string value,string item){ control__ xc = new control__; xc.setNativePointer(GetControl(item)); xc.SetText(value); return 1; } int onload() { OnInitial(); p = new pa; if(this.GetParam()) { p=GetParam(); win__::SetWindowText(GetHWND(),p.note+"Óû§"); if (p.note=="ÐÞ¸Ä") { xdwgrid__ dw = new xdwgrid__; dw.setNativePointer(p.dw); msxml::IXMLDOMElement ele=dw.GetRowElement(p.row); //if(ele.selectSingleNode("EmployeeNo")) //SetItem(ele.selectSingleNode("EmployeeNo").text,"EmployeeNo"); if(ele.selectSingleNode("UserName")) SetItem(ele.selectSingleNode("UserName").text,"UserName"); if(ele.selectSingleNode("PassWord")) SetItem(ele.selectSingleNode("PassWord").text,"PassWord"); if(ele.selectSingleNode("Status")) SetItem(ele.selectSingleNode("Status").text,"Status"); trace("Aa"); return 1; } } return 1; } ] ] ]