use "list.vl" use "dev:vm[combobox.vm]" use "dev:vm[gridpages.vm]" use "dev:vm[xutil.vm]" use "dev:vm[xpage.vm]" use "dev:vm[xdwtable.vm]" use "file.vl" unit vbusiness.entity [ FCL is extend frame; about FCL [ field: [ combobox__ ddlb_1; int changeddlb; xdwgrid__ dw_list; int m_PageSize; //ÿҳÏÔʾÊýÁ¿ int m_PageIndex; //µÚ¼¸Ò³ string m_QueryTxt; //²éѯÌõ¼þ xdwtable__ dw_base; xnode__ m_agentNode; //Agent Condition string m_agentCond; //Agent Node string m_config; string m_spec; ] method: [ 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; } int OnRetrieve() { xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); xdwpages__ zz = new xdwpages__; zz.setNativePointer(this.GetControl("pages")); xml__ x = new xml__; x.setNativePointer(xml__ ::CreateInstance()); getUrl("/sale/data/FCL/entity/list",arg.GetString(),x); msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement; if(e.selectSingleNode("@TotalPage")) { string s=e.selectSingleNode("@TotalPage").text; //×ÜÊýÁ¿ zz.SetMaxPage(s.toInt()); } dw_list.Retrieve(x); dw_list.Redraw(); return 1; } int SetPriceBaseEmpty() { int rows=dw_base.GetColumnCount(); int i; for( i=1; i<=rows; i++) { dw_base.SetItemString(1,i,""); //dw_base.SetItemDisplayString(1,i,""); } dw_base.ResetUpdateStatus(); dw_base.Redraw(); return 1; } int SetCellEdit(int row,string name,string value,string display) { dw_base.SetItemString(row,name,value); dw_base.Redraw(); if(display !="") { dw_base.SetItemDisplayString(row,name,display); } dw_base.AcceptText(); dw_base.ResetUpdateStatus(); dw_base.Redraw(); return 1; } int OnSetCTGValue(int row) { dw_base.AcceptText(); SetPriceBaseEmpty(); msxml::IXMLDOMElement e = dw_list.GetRowElement(row); var list = e.SelectNodes("*"); if(list) { int s = list.length; int i; for(i=0;idw_list.GetRowCount()) { return -1; } dw_list.DeleteRow(row); } int OnAddrow() { int row=dw_list.InsertRow(0); dw_list.SetItemString(row,"modifieddate",TApp::GetCurDate()); SetPriceBaseEmpty(); return 1; } int OnInsertRow() { int row=dw_list.GetRow(); if(row<1) return 0; int newrow=dw_list.InsertRow(row); dw_list.SetItemString(newrow,"modifieddate",TApp::GetCurDate()); SetPriceBaseEmpty(); return 1; } int OnDeleteRow() { int row = dw_list.GetRow(); if(row>0 && row<=dw_list.GetRowCount()) { dw_list.DeleteRow(row); //OnSetCTGValue(row); } return 1; } int OnCmdDispatch(string comdid) { if(comdid.find("add",0)>=0) OnAddrow(); else if(comdid.find("insert",0)>=0) OnInsertRow(); else if(comdid.find("del",0)>=0) OnDeleteRow(); else if(comdid.find("save",0)>=0) onSave(); return 1; } int OnSetFocus(ref TNotifyEvent evt,int p){ SetAgent(); return 1; } int OnXCommand(ref TXCommandEvent evt,int p) { return OnCmdDispatch(evt.pStrID); } int OnItemError(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = evt.pnmh; string value=hdr.data; int e = hdr.idFrom; if(e == -1000) alert("¡¾"+value+"¡¿²»ÊÇÓÐЧµÄÊý×Ö!"); if(e == -1001) alert("¡¾"+value+"¡¿²»ÊÇÓÐЧµÄÊý×Ö!"); if(e == -1002) alert("¡¾"+value+"¡¿²»ÊÇÓÐЧµÄÈÕÆÚ!"); return 1; } int OnAttachEvent() { AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowClicked); AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("pages","PAGE_CLICK",OnChangePages); AttachEvent("dw_base","DWV_ITEMCHANGED",OnPriceBaseChanged); AttachEvent("dw_base","DWV_ITEMERROR",OnItemError); AttachEvent("dw_list","DWV_ITEMCHANGED",OnListChanged); } int OnInit() { dw_list = new xdwgrid__; dw_list.setNativePointer(this.GetControl("dw_list")); dw_list.openUrl("/sale/view/FCL/template/FCL/List"); dw_base = new xdwtable__; dw_base.setNativePointer(GetControl("dw_base")); dw_base.openUrl("/sale/view/FCL/template/FCL/pricebase"); dw_list.SetReadOnlyColumn("shipthread",true); dw_list.SetReadOnlyColumn("price20",true); dw_list.SetReadOnlyColumn("price40",true); dw_list.SetReadOnlyColumn("price40h",true); return 1; } int onload() { m_PageSize=30; //ÿҳÏÔʾÊýÁ¿ m_PageIndex=1; //µÚ¼¸Ò³ m_QueryTxt=""; //²éѯÌõ¼þ OnInit(); OnAttachEvent(); OnRetrieve(); SetAgent(); return 1; } ] ] ]