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]" unit vbusiness.xpage tpp [ class pa { string note; int hitem; int row; int wid; treeview__ tv; xdwgrid__ dw; win__ pwin; } ] unit vbusiness.xpage [ AddUserGroup is extend win__; about AddUserGroup [ control: method: [ pa p; int SetAgent() { return 1; } //½¹µã¼¤»î´¦Àíº¯Êý int OnSetFocus(ref TEvent evt,int p) { int SetAgent(); //ÖØÖù¤¾ßÌõ return 1; } int AppendItem(xml__ x,msxml::IXMLDOMElement r,string item){ var e = x.GetXmlDoc().createElement(item); control__ xc = new control__; xc.setNativePointer(this.GetControl(item)); e.text = xc.GetText(); r.appendChild(e); return 1; } int AppendAttrib(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.setAttribute(item,xc.GetText()); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { if (comdid=="cb_cancel") CloseWindow(); else if(comdid=="cb_ok") { int wid = p.wid; xml__ x = new xml__; x.setNativePointer(x.CreateInstance()); xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); x.LoadXml(""); var r = x.GetXmlDoc().documentElement; string gpguid; if (p.note=="ÐÞ¸Ä") { msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,p.hitem); gpguid=ele.selectSingleNode("@JobID").text; } else gpguid=win__::GetGuid(); r.setAttribute("JobID",gpguid); AppendAttrib(x,r,"JobName"); AppendAttrib(x,r,"JobType"); //AppendItem(x,r,"JobName"); //AppendItem(x,r,"JobType"); //trace(x.GetXml()); //return 1; arg.AddArg("content",x.GetXml()); if (xaserver__::ExecXAction(GetServerUrl(),"[update.Usergroup.xa]",arg.GetString())==1) { control__ xc = new control__; xc.setNativePointer(this.GetControl("JobName")); //p.tv.Redraw(); if (p.note=="ÐÞ¸Ä") { treeview__::SetItemData(wid,p.hitem,r); treeview__::SetItemLabel(wid,p.hitem,xc.GetText()); } else { int root = treeview__::GetRootItem(wid); treeview__::InsertChildItem(wid,root,xc.GetText(),r,15); } CloseWindow(); } else { alert("±£´æ³ö´í!"); } } return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(ref TXCommandEvent evt,int p) { 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=="ÐÞ¸Ä") { int wid = p.wid; msxml::IXMLDOMElement ele=treeview__::GetItemData(wid,p.hitem); //trace(ele.xml); //SetItem(ele.selectSingleNode("gpno").text,"gpno"); //SetItem(ele.selectSingleNode("gpname").text,"gpname"); string ls_guid = ele.selectSingleNode("@JobID").text; string ls_name = ele.selectSingleNode("@JobName").text; string ls_type = ele.selectSingleNode("@JobType").text; SetItem(ls_guid,"JobID"); SetItem(ls_name,"JobName"); SetItem(ls_type,"JobType"); } } return 1; } ] ] ]