From a4d2315ee4ca3f6177b4fb2526bed2feff3d89be Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期三, 22 十月 2025 16:52:58 +0800
Subject: [PATCH] update
---
jrj/project/business/BasicCode/SKUTemplate.cpp | 825 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 417 insertions(+), 408 deletions(-)
diff --git a/jrj/project/business/BasicCode/SKUTemplate.cpp b/jrj/project/business/BasicCode/SKUTemplate.cpp
index 235c0dc..f3c4149 100644
--- a/jrj/project/business/BasicCode/SKUTemplate.cpp
+++ b/jrj/project/business/BasicCode/SKUTemplate.cpp
@@ -1,419 +1,428 @@
-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", publiccode::GetGuid());
+ return 1;
+ }
+ int RemoveAttribute(xml x, xstring nodename)//根据名称删除属性节点
+ {
+ KXMLDOMElement e;
+ auto 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);
+ }
+ }
+ return 1;
+ }
+ 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;
+ auto 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);
+ }
+ }
+ return 1;
+ }
+ 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.SetParam(L"dw_maint", &dw_maint);
+ openUrl(L"其他设置.vface/xpage/SKUItem/select", arg);
+ return 1;
+ }
+ int SKUItemcategory()
+ {
+ xaserverarg arg;
+
+ arg.SetParam(L"dw_category", &dw_category);
+ 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