From cab996376fd73d68625301f6af16d2a9010ec5de Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期二, 28 七月 2026 13:31:05 +0800
Subject: [PATCH] update

---
 jrj/project/business/GDN3.list.cpp |   64 +++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 13 deletions(-)

diff --git a/jrj/project/business/GDN3.list.cpp b/jrj/project/business/GDN3.list.cpp
index 18475f1..1ca80ae 100644
--- a/jrj/project/business/GDN3.list.cpp
+++ b/jrj/project/business/GDN3.list.cpp
@@ -28,7 +28,7 @@
 
 	int changeddlb;
 	xcombobox ddlb_1;
-	xcombobox cbx_datashow;
+	xcombobox cbx_datashow; 
 
 	xtreeview tv_folder;
 	xdwgrid   dw_goods;
@@ -87,8 +87,11 @@
 		xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
 		*/
 
-		
-		KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
+		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;
 
@@ -154,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")
 		{
@@ -488,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();
@@ -511,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;
 	}
@@ -578,8 +581,9 @@
 
 	int OnSelectDataShowDdlb(TEvent* evt, LPARAM p)
 	{
+		HWND wid = cbx_datashow.GetHWND();
 		int CB_GETCURSEL = 0x0147;
-		int nIndex = SendMessageW(HWND(), CB_GETCURSEL, 0, 0);
+		int nIndex = SendMessageW(wid, CB_GETCURSEL, 0, 0);
 		KXMLDOMElement e = cbx_datashow.GetElement();
 		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
 		rows = e2.selectSingleNode(L"@rows").text();
@@ -589,6 +593,39 @@
 	}
 
 
+	int OnItemAskStyle(TEvent* evt, LPARAM p)
+	{
+		int DMS_CSSSTYLE = 0x8;
+		DWASKSTYLENMHDR& hdr = *(DWASKSTYLENMHDR*)evt->notify.pnmh;
+		int row = hdr.row;
+		int col = hdr.col;
+		xstring colname = hdr.colname;
+	
+		int rows = dw_goods.GetRowCount();
+		
+		if (row < 1 || row > rows)
+		{
+			return 1;
+		}
+
+		if (colname == L"Packages")
+		{
+
+			int PackingRate = dw_goods.GetItemString(row, L"PackingRate").toInt();
+			int Quantity = dw_goods.GetItemString(row, L"Quantity").toInt();
+			alert(colname);
+			alert(xstring(PackingRate));
+			if (PackingRate != 0)
+			{
+				if ((Quantity / PackingRate) * PackingRate != Quantity)
+				{
+					hdr.mask = DMS_CSSSTYLE;
+					hdr.pCssStyle = (wchar_t*)L"color:#ff0000";
+				}
+			}
+		}
+		return 1;
+	}
 	int PostOnAttachEvent()
 	{
 		AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ListGDN3Win::OnTreeSelChanged); //树选择
@@ -596,6 +633,7 @@
 		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);
+		AttachEvent(L"dw_goods", L"DWV_ASKSTYLE", (FEvent)&ListGDN3Win::OnItemAskStyle);
 		return 1;
 	}
 
@@ -655,7 +693,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";
@@ -713,7 +751,7 @@
 		{
 			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