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/GDN3.list.cpp | 103 +++++++++++++++++++++++++++------------------------
1 files changed, 55 insertions(+), 48 deletions(-)
diff --git a/jrj/project/business/GDN3.list.cpp b/jrj/project/business/GDN3.list.cpp
index 51cf513..212e133 100644
--- a/jrj/project/business/GDN3.list.cpp
+++ b/jrj/project/business/GDN3.list.cpp
@@ -5,14 +5,15 @@
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
#include "viewobject/view.base.hpp"
-class __declspec(dllexport) GDN3list : public listwin
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) ListGDN3Win : public listwin
{
public:
- GDN3list(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
+ ListGDN3Win(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
public:
- static GDN3list* CreateInstance(void* implPtr, void* hWnd)
+ static ListGDN3Win* CreateInstance(void* implPtr, void* hWnd)
{
- GDN3list* pWin = new GDN3list(implPtr, (HWND)hWnd);
+ ListGDN3Win* pWin = new ListGDN3Win(implPtr, (HWND)hWnd);
return pWin;
}
@@ -27,7 +28,7 @@
int changeddlb;
xcombobox ddlb_1;
- xcombobox cbx_datashow;
+ xcombobox cbx_datashow;
xtreeview tv_folder;
xdwgrid dw_goods;
@@ -69,9 +70,9 @@
if (len > 0) tv_folder.SetItemChild(hItem, 1);
for (int i = 0; i < len; i++)
{
- KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+ KXMLDOMElement e = nlist.item(i);
string name = e.getAttribute(L"name");
- HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
ExpandCatChildFolder(h, e, 35);
}
return 1;
@@ -80,23 +81,29 @@
int ExpandFolderItem(HTREEITEM hItem, xstring no)
{
//xml x = ViewObject::RetrieveData(urlTree,L"no",no);
- xml x = xml::Make();
+ /*xml x = xml::Make();
xaserverarg arg = xaserverarg::Make();
arg.AddArg(L"no", no);
xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
+ */
+
+ KXMLDOMDocument x;
+ xaserverarg arg;
+ arg.AddArg(L"no", no);
+ xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
+ //KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
if (!x) return 0;
- KXMLDOMNodeList nlist = x.SelectNodes(L"/data/item");
+ KXMLDOMNodeList nlist = x.selectNodes(L"/data/item");
int len = nlist.length();
for (int i = 0; i < len; i++)
{
- KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+ KXMLDOMElement e = nlist.item(i);
string name = e.getAttribute(L"name");
- HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35);
ExpandCatChildFolder(h, e, 35);
}
- x.Free();
return 1;
}
@@ -109,7 +116,7 @@
xstring name = tv_folder.GetItemLabel(hTopItem);
HTREEITEM child = tv_folder.GetChildItem(hItem);
- KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+ KXMLDOMElement e = tv_folder.GetItemData(hItem);
if (!child)ExpandFolderItem(hItem, e.getAttribute(L"no"));
return 1;
@@ -121,13 +128,13 @@
int len = nlist.length();
for (int i = 0; i < len; i++)
{
- KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+ KXMLDOMElement e = nlist.item(i);
string name = e.getAttribute(L"name");
xstring sImage = e.getAttribute(L"image");
xstring child = e.getAttribute(L"child");
int image = 15;
if (sImage) image = sImage.toInt();
- HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
if (child != L"no") tv_folder.SetItemChild(h, 1);
ExpandChildFolder(h, e);
}
@@ -150,7 +157,7 @@
return 1;
}
- int ViewUpdate(int pr, xstring updateItem, xaserverarg arg)
+ int ViewUpdate(LPARAM pr, xstring updateItem, xaserverarg arg)
{
if (updateItem == L"del")
{
@@ -197,21 +204,22 @@
if (readed) return 1;
HTREEITEM hItem = tv_folder.GetSelectedItem();
- if (hItem <= 0)
+ if (!hItem)
{
hItem = tv_folder.GetRootItem();
- if (hItem <= 0) return 1;
+ if (!hItem) return 1;
}
HCURSOR hCursor = xutil::SetCursorWait();
- KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+ KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
xstring no = e1.getAttribute(L"no");
//xml x = 0;
//x = ViewObject::RetrieveData(myDataUrl,L"no",no,L"QueryTxt", m_QueryTxt,L"rows",rows);
xstring DeptName = publiccode::GetUser().deptname;
- xaserverarg arg = xaserverarg::Make();
+ xaserverarg arg ;
arg.AddArg(L"no", no);
arg.AddArg(L"QueryTxt", m_QueryTxt);
arg.AddArg(L"rows", rows);
+
trace(no + L"***" + m_QueryTxt + L"***" + rows);
/*if(DeptName==L"跟单部"){
dw_list.DwRetrieve(GetServerUrl(),L"[list.creator.gdn.sql.xq]",arg.GetString());
@@ -219,7 +227,6 @@
dw_list.DwRetrieve(GetServerUrl(),L"[list.folder.gdn.sql.xq]",arg.GetString());
}*/
dw_list.DwRetrieve(GetServerUrl(), L"[list.folder.gdn.sql.xq]", arg.GetString());
- arg.Free();
dw_list.SetReadOnly(true);
dw_list.SetRowSort(L"ETD", false);
@@ -233,11 +240,11 @@
int OnPreRetrieve()
{
HTREEITEM hItem = tv_folder.GetSelectedItem();
- if (hItem <= 0) return 1;
+ if (!hItem) return 1;
HCURSOR hCursor = xutil::SetCursorWait();
- KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+ KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
xstring no = e1.getAttribute(L"no");
trace(L"\r\n" + no + L"\r\n" + m_QueryTxt);
@@ -249,7 +256,7 @@
}
else
{
- dw_list.ResetEx();
+ dw_list.Reset();
dw_list.Redraw();
}
dw_list.SetReadOnly(true);
@@ -416,7 +423,7 @@
KXMLDOMDocument supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
if (supplier_x)
{
- if (supplier_x.text() != L"跟单")
+ if ((xstring)supplier_x.text() != L"跟单")
{
alert(L"当前角色不是跟单员不能新增单子,请重新选择角色");
return 0;
@@ -427,11 +434,11 @@
else if (comdid == L"action:bill.GDNDelay")
{
xstring EntityIDEx = dw_list.GetGuid(dw_list.GetRow());
- xaserverarg& argEx = *new xaserverarg;
- argEx.setNativePointer(argEx.CreateInstance());
- trace(EntityIDEx);
+ xaserverarg argEx;
+
+ //alert(EntityIDEx);
argEx.AddArg(L"GDNID", EntityIDEx);
- OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&argEx);
+ OpenWindow(L"dev:xpage[GDNDelay.vx]", argEx);
return 1;
}
else if (comdid == L"action:bill.check.ask")
@@ -484,11 +491,11 @@
return 0;
}*/
- xaserverarg& arg = *new xaserverarg;
- arg.setNativePointer(arg.CreateInstance());
+ xaserverarg arg ;
+
trace(EntityID);
arg.AddArg(L"GDNID", EntityID);
- OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&arg);
+ OpenWindow(L"dev:xpage[GDNDelay.vx]", arg);
}
else if (comdid == L"action:bill.SourceRemark") return OnSourceRemark();
@@ -507,10 +514,10 @@
{
Content = t.selectSingleNode(L"Content").text();
}
- xaserverarg& arg1 = *new xaserverarg;
- arg1.setNativePointer(arg1.CreateInstance());
+ xaserverarg arg1 ;
+
arg1.AddArg(L"value", Content);
- OpenWindow(L"dev:xpage[memo.edit.new.vx]", (LPARAM)&arg1);
+ OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg1);
return 1;
}
@@ -556,9 +563,8 @@
int OnSelectDdlb(TEvent* evt, LPARAM p)
{
changeddlb = 1;
- int wid = ddlb_1.GetId();
int CB_GETCURSEL = 0x0147;
- int nIndex = SendMessageW(wid, CB_GETCURSEL, 0, 0);
+ int nIndex = SendMessageW(HWND(), CB_GETCURSEL, 0, 0);
KXMLDOMElement e = ddlb_1.GetElement();
KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
xstring no = e2.selectSingleNode(L"@element").text();
@@ -575,7 +581,7 @@
int OnSelectDataShowDdlb(TEvent* evt, LPARAM p)
{
- int wid = cbx_datashow.GetId();
+ HWND wid = cbx_datashow.GetHWND();
int CB_GETCURSEL = 0x0147;
int nIndex = SendMessageW(wid, CB_GETCURSEL, 0, 0);
KXMLDOMElement e = cbx_datashow.GetElement();
@@ -587,13 +593,14 @@
}
- int AttachEvent()
+
+ int PostOnAttachEvent()
{
- AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&GDN3list::OnTreeSelChanged); //树选择
- //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&GDN3list::OnTreeExpanding); //树展开
- AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&GDN3list::OnRowChanged);
- AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDdlb);
- AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDataShowDdlb);
+ AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ListGDN3Win::OnTreeSelChanged); //树选择
+ //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&ListGDN3Win::OnTreeExpanding); //树展开
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ListGDN3Win::OnRowChanged);
+ AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDdlb);
+ AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDataShowDdlb);
return 1;
}
@@ -653,7 +660,7 @@
dw_custom.SetColumnState(L"ClassifyID", false);
dw_custom.SetColumnState(L"AmountEx", false);
//dw_custom.SetReadOnlyColumn(L"CustName",true);
- dw_custom.SetColumnState(L"LineNo", false);
+ //dw_custom.SetColumnState(L"LineNo", false);
rows = L"500";
myDataUrl = L"/sale/data/GDN3/folder/list";
@@ -679,7 +686,7 @@
//attach my control event
- AttachEvent();
+ PostOnAttachEvent();
readed = false;
@@ -704,14 +711,14 @@
}
HTREEITEM hItem = tv_folder.GetCaretItem();
- if (hItem <= 0) return 1;
+ if (!hItem) return 1;
KXMLDOMElement e = tv_folder.GetItemData(hItem);
xstring no = e.getAttribute(L"no");
if (no.find(L"Customer:") >= 0)
{
arg.AddArg(L"CustomerID", e.getAttribute(L"id"));
xstring name = e.getAttribute(L"name");
- if (name.find(L"(L") >= 0) name = name.left(name.find(L"(L"));
+ if (name.find(L"(") >= 0) name = name.left(name.find(L"("));
arg.AddArg(L"CustomerName", name);
}
return 1;
--
Gitblit v1.9.3