| | |
| | | use"lang.vl" |
| | | use "win.vl" |
| | | use "dev:vm[xdwgrid.vm]" |
| | | #include <wobject/xstring.hpp> |
| | | #include <xcontrol/xtreeview.hpp> |
| | | #include <xcontrol/xdwgrid.hpp> |
| | | #include <wobject/xdouble.hpp> |
| | | #include <xcontrol/xlayersheet.hpp> |
| | | |
| | | unit vbusiness.vpage |
| | | [ |
| | | BindComputerDlgNew is extend win__; |
| | | about BindComputerDlgNew |
| | | [ |
| | | field: |
| | | #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" |
| | | #include "viewobject/view.base.hpp" |
| | | using xml = KXMLDOMDocument; |
| | | class __declspec(dllexport) BindComputerDlgNew : public xwin |
| | | { |
| | | |
| | | method: |
| | | [ |
| | | xdwgrid__ dw_list; |
| | | public: |
| | | |
| | | xdwgrid dw_list; |
| | | public: |
| | | BindComputerDlgNew(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} |
| | | public: |
| | | static BindComputerDlgNew* CreateInstance(void* implPtr, void* hWnd) |
| | | { |
| | | BindComputerDlgNew* pWin = new BindComputerDlgNew(implPtr, (HWND)hWnd); |
| | | return pWin; |
| | | } |
| | | int OnRetrieve() |
| | | { |
| | | xml__ x = new xml__; |
| | | x.setNativePointer(xml__ ::CreateInstance()); |
| | | xml x; |
| | | |
| | | xaserverarg__ arg=new xaserverarg__; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | arg = this.GetParam(); |
| | | if(arg.GetArgString("BindComputer")) |
| | | |
| | | xaserverarg arg; |
| | | |
| | | arg = GetArg(); |
| | | if (arg.GetArgString(L"BindComputer")) |
| | | { |
| | | string sbys= arg.GetArgString("BindComputer"); |
| | | xstring sbys = arg.GetArgString(L"BindComputer"); |
| | | //alert(sbys); |
| | | x.LoadXml(sbys); |
| | | x.loadXML(sbys); |
| | | |
| | | } |
| | | else |
| | | { |
| | | |
| | | x.LoadXml("<args></args>"); |
| | | x.loadXML(L"<args></args>"); |
| | | } |
| | | |
| | | dw_list.Retrieve(x.GetXmlDoc().selectSingleNode("args")); |
| | | dw_list.Retrieve(x.selectSingleNode(L"args")); |
| | | dw_list.ResetUpdateStatus(); |
| | | dw_list.Redraw(); |
| | | return 1; |
| | | } |
| | | int OnAddRow(xdwgrid__ dw) |
| | | int OnAddRow(xdwgrid dw) |
| | | { |
| | | dw.InsertRow(0); |
| | | return 1; |
| | | } |
| | | |
| | | int OnDelRow(xdwgrid__ dw) |
| | | int OnDelRow(xdwgrid dw) |
| | | { |
| | | int row = dw.GetRow(); |
| | | if(row<1 || row > dw.GetRowCount()) return -1; |
| | |
| | | return 1; |
| | | } |
| | | //命令发布函数 |
| | | int OnCmdDispatch(string comdid) |
| | | int OnCmdDispatch(xstring comdid) |
| | | { |
| | | dw_list.AcceptText(); |
| | | xaserverarg__ arg = new xaserverarg__; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | arg = win__::GetParam(); |
| | | arg.AddArg("comdid",comdid); |
| | | if (comdid=="ok") |
| | | xaserverarg arg; |
| | | |
| | | arg = GetArg(); |
| | | arg.AddArg(L"comdid", comdid); |
| | | if (comdid == L"ok") |
| | | { |
| | | xml__ x = new xml__; |
| | | x.setNativePointer(xml__ ::CreateInstance()); |
| | | dw_list.DwUpdateAllTo(x.GetXmlDoc()); |
| | | arg.AddArg("xml",x.GetXml()); |
| | | xml x; |
| | | |
| | | dw_list.DwUpdateAllTo(x); |
| | | arg.AddArg(L"xml", x.xml()); |
| | | CloseWindow(); |
| | | } |
| | | else if(comdid=="close") |
| | | else if (comdid == L"close") |
| | | CloseWindow(); |
| | | else if(comdid == "add") |
| | | else if (comdid == L"add") |
| | | OnAddRow(dw_list); |
| | | else if(comdid == "del") |
| | | else if (comdid == L"del") |
| | | OnDelRow(dw_list); |
| | | return 0; |
| | | } |
| | | |
| | | //命令处理事件 |
| | | int OnXCommand(ref TXCommandEvent evt,int p) |
| | | 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)&BindComputerDlgNew::OnXCommand); |
| | | return 1; |
| | | } |
| | | int onload() |
| | | { |
| | | SetArg(); |
| | | OnAttachEvent(); |
| | | |
| | | dw_list = new xdwgrid__; |
| | | dw_list.setNativePointer(GetControl("dw_list")); |
| | | dw_list.SetDataObject(GetServerUrl(),"dev:sheet[SysUser.tpl/BindComputer]"); |
| | | dw_list = new xdwgrid; |
| | | dw_list.setNativePointer(GetControl(L"dw_list")); |
| | | dw_list.SetDataObject(GetServerUrl(), L"dev:sheet[SysUser.tpl/BindComputer]"); |
| | | dw_list.SetReadOnly(true); |
| | | if(this.GetParam()) |
| | | if (GetWinParam()) |
| | | { |
| | | OnRetrieve(); |
| | | } |
| | | return 1; |
| | | } |
| | | ] |
| | | ] |
| | | ] |
| | | }; |