use"lang.vl" use "win.vl" use "dev:vm[xdwgrid.vm]" unit vbusiness.vpage [ BindComputerDlgNew is extend win__; about BindComputerDlgNew [ field: method: [ xdwgrid__ dw_list; int OnRetrieve() { xml__ x = new xml__; x.setNativePointer(xml__ ::CreateInstance()); xaserverarg__ arg=new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); arg = this.GetParam(); if(arg.GetArgString("BindComputer")) { string sbys= arg.GetArgString("BindComputer"); //alert(sbys); x.LoadXml(sbys); } else { x.LoadXml(""); } dw_list.Retrieve(x.GetXmlDoc().selectSingleNode("args")); dw_list.ResetUpdateStatus(); dw_list.Redraw(); return 1; } int OnAddRow(xdwgrid__ dw) { dw.InsertRow(0); return 1; } int OnDelRow(xdwgrid__ dw) { int row = dw.GetRow(); if(row<1 || row > dw.GetRowCount()) return -1; dw.DeleteRow(row); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { dw_list.AcceptText(); xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); arg = win__::GetParam(); arg.AddArg("comdid",comdid); if (comdid=="ok") { xml__ x = new xml__; x.setNativePointer(xml__ ::CreateInstance()); dw_list.DwUpdateAllTo(x.GetXmlDoc()); arg.AddArg("xml",x.GetXml()); CloseWindow(); } else if(comdid=="close") CloseWindow(); else if(comdid == "add") OnAddRow(dw_list); else if(comdid == "del") OnDelRow(dw_list); return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(ref TXCommandEvent evt,int p) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //°ó¶¨¹¤¾ßÌõµã»÷ʼþ AttachEvent("WM_XCOMMAND",OnXCommand); } int onload() { OnAttachEvent(); dw_list = new xdwgrid__; dw_list.setNativePointer(GetControl("dw_list")); dw_list.SetDataObject(GetServerUrl(),"dev:sheet[SysUser.tpl/BindComputer]"); dw_list.SetReadOnly(true); if(this.GetParam()) { OnRetrieve(); } return 1; } ] ] ]