From 6a4764ee747fff45d89ef48f98873d6409e4f85e Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期二, 16 七月 2024 17:22:23 +0800 Subject: [PATCH] update --- jrj/project/business/BasicCode/SKUTemplate.cpp | 824 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 416 insertions(+), 408 deletions(-) diff --git a/jrj/project/business/BasicCode/SKUTemplate.cpp b/jrj/project/business/BasicCode/SKUTemplate.cpp index 235c0dc..e0e4e42 100644 --- a/jrj/project/business/BasicCode/SKUTemplate.cpp +++ b/jrj/project/business/BasicCode/SKUTemplate.cpp @@ -1,419 +1,427 @@ -use "list.vl" -use "dev:vm[combobox.vm]" -use "treeview.vm" -use "dev:vm[gridpages.vm]" -use "dev:vm[xutil.vm]" -use "dev:vm[xpage.vm]" -use "dev:vm[xcell.vm]" -use "file.vl" -use "publiccode.vl" +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <wobject/xdouble.hpp> +#include <xcontrol/xlayersheet.hpp> -unit vbusiness.entity -[ - SKUTemplate is extend frame; - about SKUTemplate - [ - field: - [ - xdwgrid__ dw_list; - xdwtable__ dw_maint; - xdwtable__ dw_category; - int rowno; - ] - - 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) - { - string s = agent.xml; - SetAgentNodeContent (anode,s); - } - return 1; - } - - int OnSetFocus(ref TEvent evt,int p) - { - SetAgent() ; - return 1; - } +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" - int OnReTrieve() - { - string query="[SKUTemplate.list.xq]"; - xml__ x = new xml__; - x.setNativePointer(x.CreateInstance()); - xaserverarg__ arg = new xaserverarg__; - arg.setNativePointer(arg.CreateInstance()); - if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1) - { - trace(x.GetXmlDoc().text); - return -1; - }else - { - dw_list.Retrieve(x); - dw_list.Redraw(); - } - return 1; - } - int OnRowChanged(ref TNotifyEvent evt,int p) - { +using xml = KXMLDOMDocument; +class __declspec(dllexport) SKUTemplate : public xframe +{ +public: - ref DWNMHDR hdr = evt.pnmh; - int ll_row = hdr.row; - rowno=ll_row; - string TemplateContent = dw_list.GetItemString(ll_row,"TemplateContent"); - string Category = dw_list.GetItemString(ll_row,"Category"); - if(TemplateContent=="") - { - dw_maint.openUrl("其他设置.vface/template/other/TemplateContent"); - dw_maint.SetColHeaderHeight(0); - dw_maint.SetRowSelectorWidth(0); - } - if(Category=="") - { - dw_category.openUrl("其他设置.vface/template/other/TemplateCategory"); - dw_category.SetColHeaderHeight(0); - dw_category.SetRowSelectorWidth(0); - } - xml__ x = new xml__; - x.setNativePointer(x.CreateInstance()); - x.LoadXml(TemplateContent); - xml__ x1 = new xml__; - x1.setNativePointer(x.CreateInstance()); - x1.LoadXml(Category); - dw_maint.Retrieve(x); - dw_maint.Redraw(); - dw_category.Retrieve(x1); - dw_category.Redraw(); - return 1; - } - int OnSave() + xdwgrid dw_list; + xdwtable dw_maint; + xdwtable dw_category; + int rowno; + + xnode m_agentNode; +public: + SKUTemplate(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} +public: + static SKUTemplate* CreateInstance(void* implPtr, void* hWnd) + { + SKUTemplate* pWin = new SKUTemplate(implPtr, (HWND)hWnd); + return pWin; + } + int SetAgent() + { + xstring xfNodeAgentArea = L"agentarea"; + xnode anode = GetAgentNode(xfNodeAgentArea); + if (m_agentNode) + { + SetAgentNode(anode, m_agentNode); + } + else + { + KXMLDOMElement xframeElement = GetElement(); + KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*"); + if (agent) { - dw_list.AcceptText(); - dw_maint.AcceptText(); - dw_category.AcceptText(); - - xml__ x=new xml__; - x.setNativePointer(x.CreateInstance()); - dw_list.DwUpdateAllToEx(x.GetXmlDoc()); - trace(x.GetXml()); - xaserverarg__ arg = new xaserverarg__; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("content", x.GetXml()); - arg.AddArg("dbmap", "SKUTemplate.dbmap"); - if(xaserver__::ExecXAction(this.GetServerUrl(),"[onSave.xa]",arg.GetString(),x)!=1) - { - trace(x.GetXmlDoc().documentElement.text); - alert("保存失败"); - }else{ - alert("保存成功"); - } - dw_list.ResetUpdateStatus(); - dw_maint.ResetUpdateStatus(); - dw_category.ResetUpdateStatus(); + xstring s = agent.xml(); + m_agentNode = SetAgentNode(anode, s); + } + } + return 1; + } + + int OnSetFocus(TEvent* evt, LPARAM p) + { + SetAgent(); + return 1; + } + + int OnReTrieve() + { + xstring query = L"[SKUTemplate.list.xq]"; + xml x; + + xaserverarg arg; + + if (xaserver::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) != 1) + { + trace(x.text()); + return -1; + } + else + { + dw_list.Retrieve(x); + dw_list.Redraw(); + } + return 1; + } + int OnRowChanged(TEvent* evt, LPARAM p) + { + + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int ll_row = hdr.row; + rowno = ll_row; + xstring TemplateContent = dw_list.GetItemString(ll_row, L"TemplateContent"); + xstring Category = dw_list.GetItemString(ll_row, L"Category"); + if (TemplateContent == L"") + { + dw_maint.openUrl(L"其他设置.vface/template/other/TemplateContent"); + dw_maint.SetColHeaderHeight(0); + dw_maint.SetRowSelectorWidth(0); + } + if (Category == L"") + { + dw_category.openUrl(L"其他设置.vface/template/other/TemplateCategory"); + dw_category.SetColHeaderHeight(0); + dw_category.SetRowSelectorWidth(0); + } + xml x; + + x.loadXML(TemplateContent); + xml x1; + x1.loadXML(Category); + dw_maint.Retrieve(x); + dw_maint.Redraw(); + dw_category.Retrieve(x1); + dw_category.Redraw(); + return 1; + } + int OnSave() + { + dw_list.AcceptText(); + dw_maint.AcceptText(); + dw_category.AcceptText(); + + xml x; + + dw_list.DwUpdateAllToEx(x); + trace(x.xml()); + xaserverarg arg; + + arg.AddArg(L"content", x.xml()); + arg.AddArg(L"dbmap", L"SKUTemplate.dbmap"); + if (xaserver::ExecXAction(GetServerUrl(), L"[onSave.xa]", arg.GetString(), x) != 1) + { + trace(x.documentElement().text()); + alert(L"保存失败"); + } + else { + alert(L"保存成功"); + } + dw_list.ResetUpdateStatus(); + dw_maint.ResetUpdateStatus(); + dw_category.ResetUpdateStatus(); + dw_list.Redraw(); + dw_maint.Redraw(); + dw_category.Redraw(); + return 1; + } + int OnSetValue(int row) { + dw_list.SetItemString(row, L"TemplateID", TApp::GetGuid()); + return 1; + } + int RemoveAttribute(xml x, xstring nodename)//根据名称删除属性节点 + { + KXMLDOMElement e; + var list = x.getElementsByTagName(L"" + nodename + L""); + if (list) + { + + int nlen = list.length; + int i; + for (i = 0; i < nlen; i++) + { + e = list.item(i); + //trace(e.xml); + e.removeAttribute(L"update.new"); + e.removeAttribute(L"update.modify"); + e.removeAttribute(L"update.delete"); + e.removeAttribute(L"guid"); + e.removeAttribute(L"update.origin"); + e.removeAttribute(L"isnull"); + //trace(e.xml); + } + } + } + int setMaint() + { + xml x; + + dw_maint.DwUpdateAllTo(x); + int row = dw_list.GetRow(); + trace(x.xml()); + RemoveAttribute(x, L"TemplateContent"); + RemoveAttribute(x, L"Item"); + RemoveAttribute(x, L"ItemName"); + RemoveAttribute(x, L"Remark"); + RemoveAttribute(x, L"SeqNo"); + //trace(x.xml()); + dw_list.SetItemString(row, L"TemplateContent", x.xml()); + dw_list.Redraw(); + return 1; + } + int setItemCategory() + { + xml x; + + dw_category.DwUpdateAllTo(x); + int row = dw_list.GetRow(); + //trace(row); + dw_list.SetItemString(row, L"Category", x.xml()); + return 1; + } + int OnAddRow() + { + int row = dw_list.InsertRow(0); + int rows = dw_list.GetRowCount(); + OnSetValue(rows); + dw_list.SetRow(dw_list.GetRowCount()); + //trace(row.toString()); + dw_maint.openUrl(L"其他设置.vface/template/other/TemplateContent"); + dw_maint.SetColHeaderHeight(0); + dw_maint.SetRowSelectorWidth(0); + dw_category.openUrl(L"其他设置.vface/template/other/TemplateCategory"); + dw_category.SetColHeaderHeight(0); + dw_category.SetRowSelectorWidth(0); + return 1; + } + + int OnInsertRow() + { + int row = dw_list.GetRow(); + if (row<0 || row>dw_list.GetRowCount()) return 0; + dw_list.InsertRow(row); + OnSetValue(row); + dw_list.SetRow(row); + dw_maint.openUrl(L"其他设置.vface/template/other/TemplateContent"); + dw_maint.SetColHeaderHeight(0); + dw_maint.SetRowSelectorWidth(0); + dw_category.openUrl(L"其他设置.vface/template/other/TemplateCategory"); + dw_category.SetColHeaderHeight(0); + dw_category.SetRowSelectorWidth(0); + return 1; + } + int OnChangeRowNo(int row) + { + xdwtable dw = new xdwtable; + dw.setNativePointer(dw_maint.FindDwTable(L"Item", 0)); + int i; + for (i = row; i <= dw.GetRowCount(); i++) + dw.SetItemString(i, L"SeqNo", xstring(i)); + return 1; + } + int OnDeleteRow() + { + int row = dw_list.GetRow(); + if (row<0 || row>dw_list.GetRowCount()) return 0; + dw_list.DeleteRow(row); + dw_maint.openUrl(L"其他设置.vface/template/other/TemplateContent"); + dw_maint.SetColHeaderHeight(0); + dw_maint.SetRowSelectorWidth(0); + dw_category.openUrl(L"其他设置.vface/template/other/TemplateCategory"); + dw_category.SetColHeaderHeight(0); + dw_category.SetRowSelectorWidth(0); + return 1; + } + int RemoveChild(xml x, xstring nodename)//根据名称删除节点 + { + KXMLDOMElement e; + var list = x.selectNodes(L"//Item[@update.delete='1']"); + if (list) + { + int nlen = list.length; + int i; + for (i = 0; i < nlen; i++) + { + e = list.item(i); + //trace(e.xml); + e.parentNode.removeChild(e); + //trace(e.xml); + } + } + } + int setMaint_removeChild() + { + xml x; + + dw_maint.DwUpdateAllTo(x); + int row = dw_list.GetRow(); + //trace(x.xml()); + RemoveChild(x, L"Item"); + RemoveAttribute(x, L"TemplateContent"); + RemoveAttribute(x, L"Item"); + RemoveAttribute(x, L"ItemName"); + RemoveAttribute(x, L"Remark"); + RemoveAttribute(x, L"SeqNo"); + //trace(x.xml()); + dw_list.SetItemString(row, L"TemplateContent", x.xml()); + dw_list.Redraw(); + return 1; + } + int setItemCategory_removeChild() + { + xml x; + + dw_category.DwUpdateAllTo(x); + int row = dw_list.GetRow(); + RemoveChild(x, L"Item"); + //trace(row); + dw_list.SetItemString(row, L"Category", x.xml()); + dw_list.Redraw(); + return 1; + } + int del(xdwtable dw_1) + { + xdwtable dw = new xdwtable; + dw.setNativePointer(dw_1.GetCurTable()); + int row = dw.GetRow(); + if (row < 1 || row > dw.GetRowCount()) return -1; + dw.DeleteRow(row); + //trace(dw.GetDwName()); + if (dw_1.GetDwName() == L"TemplateContent") + { + OnChangeRowNo(row); + if (dw.GetRowCount() == 1 && dw.GetItemString(1, L"ItemName") == L"") + { + dw_list.SetItemString(rowno, L"TemplateContent", L""); dw_list.Redraw(); - dw_maint.Redraw(); - dw_category.Redraw(); - return 1; - } - int OnSetValue( int row){ - dw_list.SetItemString(row,"TemplateID",TApp::GetGuid()); - return 1; } - int RemoveAttribute(xml__ x,string nodename)//根据名称删除属性节点 - { - msxml::IXMLDOMElement e; - var list = x.GetXmlDoc().getElementsByTagName(""+nodename+""); - if(list) - { - - int nlen = list.length; - int i; - for(i=0; i<nlen; i++) - { - e = list.item(i); - //trace(e.xml); - e.removeAttribute("update.new"); - e.removeAttribute("update.modify"); - e.removeAttribute("update.delete"); - e.removeAttribute("guid"); - e.removeAttribute("update.origin"); - e.removeAttribute("isnull"); - //trace(e.xml); - } - } - } - int setMaint() + else { - xml__ x=new xml__; - x.setNativePointer(xml__::CreateInstance()); - dw_maint.DwUpdateAllTo(x.GetXmlDoc()); - int row = dw_list.GetRow(); - trace(x.GetXml()); - RemoveAttribute(x,"TemplateContent"); - RemoveAttribute(x,"Item"); - RemoveAttribute(x,"ItemName"); - RemoveAttribute(x,"Remark"); - RemoveAttribute(x,"SeqNo"); - //trace(x.GetXml()); - dw_list.SetItemString(row, "TemplateContent", x.GetXml()); - dw_list.Redraw(); - return 1; + setMaint_removeChild(); } - int setItemCategory() - { - xml__ x=new xml__; - x.setNativePointer(xml__::CreateInstance()); - dw_category.DwUpdateAllTo(x.GetXmlDoc()); - int row = dw_list.GetRow(); - trace(row); - dw_list.SetItemString(row, "Category", x.GetXml()); - return 1; - } - int OnAddRow() - { - int row = dw_list.InsertRow(0); - int rows = dw_list.GetRowCount(); - OnSetValue(rows); - dw_list.SetRow(dw_list.GetRowCount()); - trace(row.toString()); - dw_maint.openUrl("其他设置.vface/template/other/TemplateContent"); - dw_maint.SetColHeaderHeight(0); - dw_maint.SetRowSelectorWidth(0); - dw_category.openUrl("其他设置.vface/template/other/TemplateCategory"); - dw_category.SetColHeaderHeight(0); - dw_category.SetRowSelectorWidth(0); - return 1; - } - - int OnInsertRow() - { - int row=dw_list.GetRow(); - if(row<0 || row>dw_list.GetRowCount()) return 0; - dw_list.InsertRow(row); - OnSetValue(row); - dw_list.SetRow(row); - dw_maint.openUrl("其他设置.vface/template/other/TemplateContent"); - dw_maint.SetColHeaderHeight(0); - dw_maint.SetRowSelectorWidth(0); - dw_category.openUrl("其他设置.vface/template/other/TemplateCategory"); - dw_category.SetColHeaderHeight(0); - dw_category.SetRowSelectorWidth(0); - return 1; - } - int OnChangeRowNo(int row) - { - xdwtable__ dw = new xdwtable__; - dw.setNativePointer(dw_maint.FindDwTable("Item",0)); - int i; - for (i=row; i<=dw.GetRowCount(); i++) - dw.SetItemString(i, "SeqNo", i.toString()); - return 1; - } - int OnDeleteRow() - { - int row = dw_list.GetRow(); - if(row<0 || row>dw_list.GetRowCount()) return 0; - dw_list.DeleteRow(row); - dw_maint.openUrl("其他设置.vface/template/other/TemplateContent"); - dw_maint.SetColHeaderHeight(0); - dw_maint.SetRowSelectorWidth(0); - dw_category.openUrl("其他设置.vface/template/other/TemplateCategory"); - dw_category.SetColHeaderHeight(0); - dw_category.SetRowSelectorWidth(0); - return 1; - } - int RemoveChild(xml__ x,string nodename)//根据名称删除节点 - { - msxml::IXMLDOMElement e; - var list = x.GetXmlDoc().SelectNodes("//Item[@update.delete='1']"); - if(list) - { - int nlen = list.length; - int i; - for(i=0; i<nlen; i++) - { - e = list.item(i); - //trace(e.xml); - e.parentNode.removeChild(e); - //trace(e.xml); - } - } - } - int setMaint_removeChild() - { - xml__ x=new xml__; - x.setNativePointer(xml__::CreateInstance()); - dw_maint.DwUpdateAllTo(x.GetXmlDoc()); - int row = dw_list.GetRow(); - //trace(x.GetXml()); - RemoveChild(x,"Item"); - RemoveAttribute(x,"TemplateContent"); - RemoveAttribute(x,"Item"); - RemoveAttribute(x,"ItemName"); - RemoveAttribute(x,"Remark"); - RemoveAttribute(x,"SeqNo"); - //trace(x.GetXml()); - dw_list.SetItemString(row, "TemplateContent", x.GetXml()); - dw_list.Redraw(); - return 1; - } - int setItemCategory_removeChild() - { - xml__ x=new xml__; - x.setNativePointer(xml__::CreateInstance()); - dw_category.DwUpdateAllTo(x.GetXmlDoc()); - int row = dw_list.GetRow(); - RemoveChild(x,"Item"); - trace(row); - dw_list.SetItemString(row, "Category", x.GetXml()); - dw_list.Redraw(); - return 1; - } - int del(xdwtable__ dw_1) - { - xdwtable__ dw = new xdwtable__; - dw.setNativePointer(dw_1.GetCurTable()); - int row = dw.GetRow(); - if(row < 1 || row > dw.GetRowCount()) return -1; - dw.DeleteRow(row); - //trace(dw.GetDwName()); - if(dw_1.GetDwName()=="TemplateContent") - { - OnChangeRowNo(row); - if(dw.GetRowCount()==1 && dw.GetItemString(1,"ItemName")=="") - { - dw_list.SetItemString(rowno, "TemplateContent", ""); - dw_list.Redraw(); - } - else - { - setMaint_removeChild(); - } - - } - if(dw_1.GetDwName()=="Categorys") - { - trace(dw.GetRowCount()); - if(dw.GetRowCount()==1 && dw.GetItemString(1,"CategoryID")=="") - { - dw_list.SetItemString(rowno, "Category", ""); - dw_list.Redraw(); - } - else - { - setItemCategory_removeChild(); - } - - } - - return 1; - } - int SKUItem() - { - xaserverarg__ arg=new xaserverarg__; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("dw_maint",dw_maint.__nativept.toString()); - openUrl("其他设置.vface/xpage/SKUItem/select",arg); - return 1; - } - int SKUItemcategory() - { - xaserverarg__ arg=new xaserverarg__; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("dw_category",dw_category.__nativept.toString()); - openUrl("其他设置.vface/xpage/SKUItemcategory/select",arg); - return 1; - } - int SKUItemModify() - { - openUrl("其他设置.vface/xpage/SKUItem/list"); - return 1; - } - //命令发布函数 - int OnCmdDispatch(string comdid) - { - if (comdid =="save") OnSave(); - else if (comdid =="AddRow") OnAddRow(); - else if (comdid =="InsertRow") OnInsertRow(); - else if (comdid =="DeleteRow") OnDeleteRow(); - else if (comdid =="SKUItem") SKUItem(); - else if (comdid =="SKUItemcategory") SKUItemcategory(); - else if(comdid == "del_1") del(dw_maint); - else if(comdid == "del_2") del(dw_category); - else if(comdid == "SKUItemModify") SKUItemModify(); - return 0; - } - - //命令处理事件 - int OnXCommand(ref TXCommandEvent evt,int p) - { - return OnCmdDispatch(evt.pStrID); - } - - int OnMaintChanged(ref TNotifyEvent evt,int p) - { - //trace("hello"); - setMaint(); - return 1; - } - - int OnCategoryChanged(ref TNotifyEvent evt,int p) - { - setItemCategory(); - return 1; - } - - int OnAttachEvent() - { - //绑定工具条点击事件 - AttachEvent("WM_XCOMMAND",OnXCommand); - //获取焦点事件,用于重置工具条 - AttachEvent("WM_SETFOCUS",OnSetFocus); - AttachEvent("dw_maint","DWV_ITEMCHANGED",OnMaintChanged); - AttachEvent("dw_category","DWV_ITEMCHANGED",OnCategoryChanged); - AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); - return 1; - } - int OnInitial() + } + if (dw_1.GetDwName() == L"Categorys") + { + //trace(dw.GetRowCount()); + if (dw.GetRowCount() == 1 && dw.GetItemString(1, L"CategoryID") == L"") { - SetAgent(); - OnAttachEvent(); - return 1; - } - int onload() - { - dw_list = new xdwgrid__; - dw_list.setNativePointer(this.GetControl("dw_list")); - dw_list.openUrl("其他设置.vface/template/other/SKUTemplate"); - - dw_maint = new xdwtable__; - dw_maint.setNativePointer(GetControl("dw_maint")); - dw_maint.openUrl("其他设置.vface/template/other/TemplateContent"); - dw_maint.SetColHeaderHeight(0); - dw_maint.SetRowSelectorWidth(0); - - dw_category = new xdwtable__; - dw_category.setNativePointer(GetControl("dw_category")); - dw_category.openUrl("其他设置.vface/template/other/TemplateCategory"); - dw_category.SetColHeaderHeight(0); - dw_category.SetRowSelectorWidth(0); - dw_category.SetReadOnly(true); - OnInitial(); - OnReTrieve(); - xdwtable__ dw = new xdwtable__; - dw.setNativePointer(dw_category.FindDwTable("Item",0)); - trace(dw.GetRowCount()); - return 1; + dw_list.SetItemString(rowno, L"Category", L""); + dw_list.Redraw(); } - ] - ] -] \ No newline at end of file + else + { + setItemCategory_removeChild(); + } + + } + + return 1; + } + int SKUItem() + { + xaserverarg arg; + + arg.AddArg(L"dw_maint", dw_maint.nativept.toString()); + openUrl(L"其他设置.vface/xpage/SKUItem/select", arg); + return 1; + } + int SKUItemcategory() + { + xaserverarg arg; + + arg.AddArg(L"dw_category", dw_category.nativept.toString()); + openUrl(L"其他设置.vface/xpage/SKUItemcategory/select", arg); + return 1; + } + int SKUItemModify() + { + openUrl(L"其他设置.vface/xpage/SKUItem/list"); + return 1; + } + //命令发布函数 + int OnCmdDispatch(xstring comdid) + { + if (comdid == L"save") OnSave(); + else if (comdid == L"AddRow") OnAddRow(); + else if (comdid == L"InsertRow") OnInsertRow(); + else if (comdid == L"DeleteRow") OnDeleteRow(); + else if (comdid == L"SKUItem") SKUItem(); + else if (comdid == L"SKUItemcategory") SKUItemcategory(); + else if (comdid == L"del_1") del(dw_maint); + else if (comdid == L"del_2") del(dw_category); + else if (comdid == L"SKUItemModify") SKUItemModify(); + return 0; + } + + //命令处理事件 + int OnXCommand(TEvent* evt, LPARAM param) + { + return OnCmdDispatch(evt->xcommand.pStrID); + } + + int OnMaintChanged(TEvent* evt, LPARAM p) + { + //trace(L"hello"); + setMaint(); + return 1; + } + + int OnCategoryChanged(TEvent* evt, LPARAM p) + { + setItemCategory(); + return 1; + } + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent(L"WM_XCOMMAND", (FEvent)&SKUTemplate::OnXCommand); + //获取焦点事件,用于重置工具条 + AttachEvent(L"WM_SETFOCUS", (FEvent)&SKUTemplate::OnSetFocus); + AttachEvent(L"dw_maint", L"DWV_ITEMCHANGED", (FEvent)&SKUTemplate::OnMaintChanged); + AttachEvent(L"dw_category", L"DWV_ITEMCHANGED", (FEvent)&SKUTemplate::OnCategoryChanged); + AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&SKUTemplate::OnRowChanged); + + return 1; + } + int OnInitial() + { + SetAgent(); + OnAttachEvent(); + return 1; + } + int onload() + { + dw_list = new xdwgrid; + dw_list.setNativePointer(GetControl(L"dw_list")); + dw_list.openUrl(L"其他设置.vface/template/other/SKUTemplate"); + + dw_maint = new xdwtable; + dw_maint.setNativePointer(GetControl(L"dw_maint")); + dw_maint.openUrl(L"其他设置.vface/template/other/TemplateContent"); + dw_maint.SetColHeaderHeight(0); + dw_maint.SetRowSelectorWidth(0); + + dw_category = new xdwtable; + dw_category.setNativePointer(GetControl(L"dw_category")); + dw_category.openUrl(L"其他设置.vface/template/other/TemplateCategory"); + dw_category.SetColHeaderHeight(0); + dw_category.SetRowSelectorWidth(0); + dw_category.SetReadOnly(true); + OnInitial(); + OnReTrieve(); + xdwtable dw = new xdwtable; + dw.setNativePointer(dw_category.FindDwTable(L"Item", 0)); + //trace(dw.GetRowCount()); + return 1; + } +}; \ No newline at end of file -- Gitblit v1.9.3