use "frame.vl" use "dev:vm[xdwtable.vm]" use "file.vl" use "dev:vm[xutil.vm]" unit vbusiness.entity [ brand_regtype is extend frame; about brand_regtype [ method: [ xdwtable__ dw_list; int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode__ anode = new xnode__; anode.setNativePointer(GetAgentNode(xfNodeAgentArea)); var xframeElement = GetElement(); var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent){ SetAgentNodeContent (anode,agent.xml); } return 1; } xdwtable__ getDw() { xdwtable__ dw1 = new xdwtable__; dw1.setNativePointer(dw_list.FindDwTable("item")); return dw1; } int addRow() { xdwtable__ dw = getDw(); int row = dw.InsertRow(0); string no = "2"; if(row > 1) no = dw.GetItemString(row - 1, "RegTypeID"); int n = no.toInt(); int h = n + 1; dw.SetItemString(row, "RegTypeID", h.toString()); return 1; } int deleteRow() { xdwtable__ dw = getDw(); int row = dw.GetRow(); if(row < 1 || row > dw.GetRowCount()) return -1; if (win__::MessageBox(this.GetHWND(),"ÊÇ·ñɾ³ýÑ¡ÔñµÄ¼Ç¼ÐУ¿","Ìáʾ",4) == 7) return 1; dw.DeleteRow(row); return 1; } int save() { xml__ x = new xml__; x.setNativePointer(xml__ ::CreateInstance()); xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); dw_list.AcceptText(); dw_list.DwUpdateAllTo(x.GetXmlDoc()); msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement; //trace(e.xml); arg.AddArg("content", e.xml); if(getUrl("/workflow/action/BrandRegType.dbmap/bill.update", arg.GetString(), x) != 1) { alert("±£´æÊ§°Ü!"); return -1; } //trace(x.GetXml()); string str = x.GetXml(); if(str.find("±£´æ³É¹¦", 0) > 0) { alert("±£´æ³É¹¦"); dw_list.ResetUpdateStatus(); dw_list.Redraw(); } else alert("±£´æÊ§°Ü0!"); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { int hCursor = xutil__::SetCursorWait(); if(comdid == "xmNew") addRow(); else if(comdid == "xmDelete") deleteRow(); else if(comdid == "xmSave") save(); xutil__::RestoreCursor(hCursor); return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(ref TXCommandEvent evt,int p) { return OnCmdDispatch(evt.pStrID); } int OnSetFocus(ref TEvent evt,int p) { SetAgent() ; return 1; } int OnAttachEvent() { AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent("WM_SETFOCUS",OnSetFocus); return 1; } int Initail() { xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); xml__ x = new xml__; x.setNativePointer(xml__ ::CreateInstance()); if(getUrl("/sale/data/brand/entity/regtype", arg.GetString(), x) != 1) { alert("³õʼ»¯²éѯʧ°Ü!"); return -1; } //trace(x.GetXml()); dw_list.Retrieve(x); dw_list.Redraw(); return 1; } int onload() { dw_list = new xdwtable__; dw_list.setNativePointer(GetControl("dw_list")); dw_list.openUrl("/sale/view/brand/template/regtype"); //dw_list.SetColHeaderHeight(0); dw_list.SetRowSelectorWidth(0); OnAttachEvent(); SetAgent(); Initail(); return -1; } ] ] ]