| | |
| | | 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]" |
| | | #include <wobject/xstring.hpp> |
| | | #include <xcontrol/xtreeview.hpp> |
| | | #include <xcontrol/xdwgrid.hpp> |
| | | #include <wobject/xdouble.hpp> |
| | | #include <xcontrol/xlayersheet.hpp> |
| | | |
| | | unit vbusiness.xpage tpp |
| | | [ |
| | | class pa |
| | | #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" |
| | | #include "viewobject/view.base.hpp" |
| | | //use "dev:xpage[SysUser.vx]" |
| | | |
| | | using xml = KXMLDOMDocument; |
| | | class __declspec(dllexport) AddUser : public xwin |
| | | { |
| | | string note; |
| | | |
| | | public: |
| | | |
| | | xstring note; |
| | | int hitem; |
| | | int row; |
| | | int wid; |
| | | treeview__ tv; |
| | | xdwgrid__ dw; |
| | | win__ pwin; |
| | | } |
| | | ] |
| | | |
| | | unit vbusiness.xpage |
| | | [ |
| | | AddUser is extend win__; |
| | | about AddUser |
| | | [ |
| | | control: |
| | | |
| | | method: |
| | | [ |
| | | xtreeview tv; |
| | | xdwgrid dw; |
| | | xwin pwin; |
| | | pa p; |
| | | public: |
| | | AddUser(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} |
| | | public: |
| | | static AddUser* CreateInstance(void* implPtr, void* hWnd) |
| | | { |
| | | AddUser* pWin = new AddUser(implPtr, (HWND)hWnd); |
| | | return pWin; |
| | | } |
| | | |
| | | int SetAgent() |
| | | { |
| | | return 1; |
| | | } |
| | | //焦点激活处理函数 |
| | | int OnSetFocus(ref TEvent evt,int param) |
| | | int OnSetFocus(TEvent* evt, LPARAM param) |
| | | { |
| | | int SetAgent(); |
| | | |
| | | //重置工具条 |
| | | return 1; |
| | | } |
| | | int AppendItem(xml__ x,msxml::IXMLDOMElement r,string item){ |
| | | var e = x.GetXmlDoc().createElement(item); |
| | | int AppendItem(xml x, KXMLDOMElement r, xstring item) { |
| | | var e = x.createElement(item); |
| | | //xcontrol xc = GetControl(item); |
| | | control__ xc = new control__; |
| | | xc.setNativePointer(this.GetControl(item)); |
| | | e.text = xc.GetText(); |
| | | control xc = new control; |
| | | xc.setNativePointer(GetControl(item)); |
| | | e.text() = xc.GetText(); |
| | | r.appendChild(e); |
| | | return 1; |
| | | } |
| | | |
| | | int OnSave() |
| | | { |
| | | control__ xc = new control__; |
| | | /*xc=GetControl("EmployeeNo"); |
| | | if (xc.GetText()=="") |
| | | control xc = new control; |
| | | /*xc=GetControl(L"EmployeeNo"); |
| | | if (xc.GetText()==L"") |
| | | { |
| | | alert("用户代码不能为空!"); |
| | | alert(L"用户代码不能为空!"); |
| | | return 0; |
| | | }*/ |
| | | xc=GetControl("UserName"); |
| | | if (xc.GetText()=="") |
| | | xc = GetControl(L"UserName"); |
| | | if (xc.GetText() == L"") |
| | | { |
| | | alert("用户名称不能为空!"); |
| | | alert(L"用户名称不能为空!"); |
| | | return 0; |
| | | } |
| | | xml__ x = new xml__; |
| | | x.setNativePointer(x.CreateInstance()); |
| | | xaserverarg__ arg = new xaserverarg__; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | x.LoadXml("<SysUser/>"); |
| | | var r = x.GetXmlDoc().documentElement; |
| | | string guid; |
| | | string guid1; |
| | | if (p.note=="修改") |
| | | xml x; |
| | | |
| | | xaserverarg arg; |
| | | |
| | | x.loadXML(L"<SysUser/>"); |
| | | var r = x.documentElement(); |
| | | xstring guid; |
| | | xstring guid1; |
| | | if (p.note == L"修改") |
| | | { |
| | | 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")); |
| | | KXMLDOMElement ele = xdwgrid::GetRowElement(p.row); |
| | | guid = ele.selectSingleNode(L"UserID").text(); |
| | | //guid=ele.getAttribute(L"guid"); |
| | | //if (ele.selectSingleNode(L"empid")) |
| | | // r.appendChild(ele.selectSingleNode(L"empid")); |
| | | } |
| | | else |
| | | guid=win__::GetGuid(); |
| | | guid = 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()); |
| | | r.setAttribute(L"guid", guid); |
| | | //r.setAttribute(L"guid1",guid1); |
| | | //AppendItem(x,r,L"EmployeeNo"); |
| | | AppendItem(x, r, L"UserName"); |
| | | AppendItem(x, r, L"PassWord"); |
| | | AppendItem(x, r, L"Status"); |
| | | //trace(x.xml()); |
| | | //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) |
| | | arg.AddArg(L"content", x.xml()); |
| | | int ls_item = treeview::GetSelectedItem(p.wid); |
| | | KXMLDOMElement e = treeview::GetItemData(p.wid, ls_item); |
| | | xstring gpguid = e.selectSingleNode(L"@guid").text(); |
| | | arg.AddArg(L"gpguid", gpguid); |
| | | if (xaserver::ExecXAction(GetServerUrl(), L"[update.User.xa]", arg.GetString()) == 1) |
| | | { |
| | | alert("ok"); |
| | | if (p.note=="修改") |
| | | alert(L"ok"); |
| | | if (p.note == L"修改") |
| | | { |
| | | xdwgrid__ dw = new xdwgrid__; |
| | | 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.SetItemString(row,L"UserName",L""); |
| | | KXMLDOMElement e; |
| | | e = x.documentElement(); |
| | | xstring ls_pass = e.selectSingleNode(L"PassWord").text(); |
| | | xstring ls_status = e.selectSingleNode(L"Status").text(); |
| | | dw.SetItemString(row, L"PassWord", ls_pass); |
| | | dw.SetItemString(row, L"Status", ls_status); |
| | | dw.Redraw(); |
| | | } |
| | | else |
| | |
| | | } |
| | | else |
| | | { |
| | | alert("保存出错!"); |
| | | alert(L"保存出错!"); |
| | | return 0; |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | int ClearItem(string item) |
| | | int ClearItem(xstring item) |
| | | { |
| | | control__ xc = new control__; |
| | | control xc = new control; |
| | | xc.setNativePointer(GetControl(item)); |
| | | xc.SetText(""); |
| | | xc.SetText(L""); |
| | | return 1; |
| | | } |
| | | //命令发布函数 |
| | | int OnCmdDispatch(string comdid) |
| | | int OnCmdDispatch(xstring comdid) |
| | | { |
| | | if (comdid=="cb_cancel") |
| | | if (comdid == L"cb_cancel") |
| | | CloseWindow(); |
| | | else if(comdid=="cb_ok") |
| | | else if (comdid == L"cb_ok") |
| | | { |
| | | int r=OnSave(); |
| | | if (r==1) |
| | | CloseWindow(); |
| | | } |
| | | else if(comdid=="cb_save") |
| | | else if (comdid == L"cb_save") |
| | | { |
| | | OnSave(); |
| | | p.note="新增"; |
| | | win__::SetWindowText(GetHWND(),p.note+"用户"); |
| | | ClearItem("userno"); |
| | | ClearItem("username"); |
| | | ClearItem("pwd"); |
| | | p.note = L"新增"; |
| | | SetWindowText(GetHWND(), p.note + L"用户"); |
| | | ClearItem(L"userno"); |
| | | ClearItem(L"username"); |
| | | ClearItem(L"pwd"); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | //命令处理事件 |
| | | int OnXCommand(ref TXCommandEvent evt,int param) |
| | | int OnXCommand(TEvent* evt, LPARAM param) |
| | | { |
| | | return OnCmdDispatch(evt.pStrID); |
| | | return OnCmdDispatch(evt->xcommand.pStrID); |
| | | } |
| | | |
| | | int OnAttachEvent() |
| | | { |
| | | //绑定工具条点击事件 |
| | | AttachEvent("WM_XCOMMAND",OnXCommand); |
| | | AttachEvent(L"WM_XCOMMAND", (FEvent)&AddUser::OnXCommand); |
| | | //获取焦点事件,用于重置工具条 |
| | | AttachEvent("WM_SETFOCUS",OnSetFocus); |
| | | AttachEvent(L"WM_SETFOCUS", (FEvent)&AddUser::OnSetFocus); |
| | | return 1; |
| | | } |
| | | |
| | | int OnInitial() |
| | |
| | | return 1; |
| | | } |
| | | |
| | | int SetItem(string value,string item){ |
| | | control__ xc = new control__; |
| | | int SetItem(xstring value, xstring item) { |
| | | control xc = new control; |
| | | xc.setNativePointer(GetControl(item)); |
| | | xc.SetText(value); |
| | | return 1; |
| | | } |
| | | int onload() |
| | | { |
| | | SetArg(); |
| | | OnInitial(); |
| | | p = new pa; |
| | | |
| | | if(this.GetParam()) |
| | | if (GetWinParam()) |
| | | { |
| | | p=GetParam(); |
| | | win__::SetWindowText(GetHWND(),p.note+"用户"); |
| | | if (p.note=="修改") |
| | | p = GetArg(); |
| | | SetWindowText(GetHWND(), p.note + L"用户"); |
| | | if (p.note == L"修改") |
| | | { |
| | | xdwgrid__ dw = new xdwgrid__; |
| | | 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"); |
| | | KXMLDOMElement ele = dw.GetRowElement(p.row); |
| | | //if(ele.selectSingleNode(L"EmployeeNo")) |
| | | //SetItem(ele.selectSingleNode(L"EmployeeNo").text(),L"EmployeeNo"); |
| | | if (ele.selectSingleNode(L"UserName")) |
| | | SetItem(ele.selectSingleNode(L"UserName").text(), L"UserName"); |
| | | if (ele.selectSingleNode(L"PassWord")) |
| | | SetItem(ele.selectSingleNode(L"PassWord").text(), L"PassWord"); |
| | | if (ele.selectSingleNode(L"Status")) |
| | | SetItem(ele.selectSingleNode(L"Status").text(), L"Status"); |
| | | trace(L"Aa"); |
| | | return 1; |
| | | } |
| | | } |
| | | return 1; |
| | | } |
| | | ] |
| | | |
| | | ] |
| | | ] |
| | | }; |