From 92041f16c37d6be17d8757d59343d3ce4a799292 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期三, 26 六月 2024 11:47:13 +0800
Subject: [PATCH] 提交代码

---
 jrj/project/business/GDN3.list.cpp |  202 +++++++++++++++++++++++++------------------------
 1 files changed, 103 insertions(+), 99 deletions(-)

diff --git a/jrj/project/business/GDN3.list.cpp b/jrj/project/business/GDN3.list.cpp
index 6ed85f3..6488691 100644
--- a/jrj/project/business/GDN3.list.cpp
+++ b/jrj/project/business/GDN3.list.cpp
@@ -37,9 +37,9 @@
 
 	//process tree
 //查找当前树项的顶级目录
-	int LookupTopFolder(HTREEVIEW hItem)
+	HTREEITEM LookupTopFolder(HTREEITEM hItem)
 	{
-		int hRoot = tv_folder.GetRootItem();
+		HTREEITEM hRoot = tv_folder.GetRootItem();
 		while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
 		return hItem;
 	}
@@ -62,38 +62,42 @@
 		return 1;
 	}
 
-	int ExpandCatChildFolder(HTREEVIEW hItem, KXMLDOMElement ele, int image)
+	int ExpandCatChildFolder(HTREEITEM hItem, KXMLDOMElement ele, int image)
 	{
-		KXMLDOMNodeList nlist = ele.SelectNodes(L"item");
-		int len = nlist.length;
+		KXMLDOMNodeList nlist = ele.selectNodes(L"item");
+		int len = nlist.length();
 		if (len > 0) tv_folder.SetItemChild(hItem, 1);
 		for (int i = 0; i < len; i++)
 		{
-			KXMLDOMElement e = nlist.item(i);
-			xstring name = e.getAttribute(L"name");
-			int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image);
+			KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+			string name = e.getAttribute(L"name");
+			HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
 			ExpandCatChildFolder(h, e, 35);
 		}
 		return 1;
 	}
 
-	int ExpandFolderItem(HTREEVIEW hItem, xstring no)
+	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 = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
 
 		if (!x) return 0;
 
-		KXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes(L"/data/item");
-		int len = nlist.length;
+		KXMLDOMNodeList nlist = x.SelectNodes(L"/data/item");
+		int len = nlist.length();
 		for (int i = 0; i < len; i++)
 		{
-			KXMLDOMElement e = nlist.item(i);
-			xstring name = e.getAttribute(L"name");
-			int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35);
+			KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+			string name = e.getAttribute(L"name");
+			HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35);
 			ExpandCatChildFolder(h, e, 35);
 		}
 		x.Free();
@@ -101,33 +105,34 @@
 	}
 
 	//树展开
-	int OnTreeExpanding(ref TNotifyEvent evt, int p)
+	int OnTreeExpanding(TEvent* evt, int p)
 	{
-		ref NMTREEVIEW nmtv = evt.pnmh;
-		HTREEVIEW hItem = nmtv.itemNew.hItem;
-		int hTopItem = LookupTopFolder(hItem);
+		NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+		HTREEITEM hItem = nmtv.itemNew.hItem;
+		HTREEITEM hTopItem = LookupTopFolder(hItem);
 		xstring name = tv_folder.GetItemLabel(hTopItem);
-		int child = tv_folder.GetChildItem(hItem);
+		HTREEITEM child = tv_folder.GetChildItem(hItem);
 
-		KXMLDOMElement e = tv_folder.GetItemData(hItem);
+		KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
 		if (!child)ExpandFolderItem(hItem, e.getAttribute(L"no"));
 
 		return 1;
 	}
 
-	int  ExpandChildFolder(HTREEVIEW hItem, KXMLDOMElement pElement)
+	int  ExpandChildFolder(HTREEITEM hItem, KXMLDOMElement pElement)
 	{
-		KXMLDOMNodeList nlist = pElement.SelectNodes(L"Item");
-		int len = nlist.length;
+		KXMLDOMNodeList nlist = pElement.selectNodes(L"Item");
+		int len = nlist.length();
 		for (int i = 0; i < len; i++)
 		{
-			KXMLDOMElement e = nlist.item(i);
-			xstring name = e.getAttribute(L"name");
+			KXMLDOMElement& e = *new KXMLDOMElement(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();
-			int h = tv_folder.InsertChildItem(tv_folder.GetId(), hItem, name, trust(e as int), image);
-			tv_folder.SetItemChild(h, 1);
+			if (sImage) image = sImage.toInt();
+			HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
+			if (child != L"no") tv_folder.SetItemChild(h, 1);
 			ExpandChildFolder(h, e);
 		}
 		return 1;
@@ -141,7 +146,7 @@
 		return 1;
 	}
 
-	int OnTreeSelChanged(ref TNotifyEvent evt, int p)
+	int OnTreeSelChanged(TEvent* evt, LPARAM p)
 	{
 		if (changeddlb) return 1;
 		return OnPreRetrieve();
@@ -153,20 +158,20 @@
 	{
 		if (updateItem == L"del")
 		{
-			int DelRow = this.dw_list.GetRow();
-			this.dw_list.DeleteRow(DelRow);
+			int DelRow = dw_list.GetRow();
+			dw_list.DeleteRow(DelRow);
 
 		}
 		else if (updateItem == L"setstate")
 		{
-			int row = this.dw_list.GetRow();
+			int row = dw_list.GetRow();
 			if (row < 1) return 1;
-			KXMLDOMElement ele = this.dw_list.GetRowElement(row);
+			KXMLDOMElement ele = dw_list.GetRowElement(row);
 			xstring id = GetEntityIDName(1);
 			xstring entity = ele.selectSingleNode(id).text();
 			SetAgent(L"list", entity);
 			if (arg.GetArgString(L"state") != L"")
-				//this.dw_list.SetItemString(row, L"ApprovalStatus", arg.GetArgString(L"state"));
+				//dw_list.SetItemString(row, L"ApprovalStatus", arg.GetArgString(L"state"));
 				dw_list.SetItemString(row, L"ApplyStatus", arg.GetArgString(L"state"));
 			if (arg.GetArgString(L"billstatus") != L"")
 			{
@@ -176,7 +181,7 @@
 				dw_list.SetItemDisplayString(row, L"ApprovalStatus", statusName);
 			}
 
-			this.dw_list.Redraw();
+			dw_list.Redraw();
 		}
 
 		return 1;
@@ -195,14 +200,14 @@
 	{
 
 		if (readed) return 1;
-		HTREEVIEW hItem = tv_folder.GetSelectedItem();
+		HTREEITEM hItem = tv_folder.GetSelectedItem();
 		if (hItem <= 0)
 		{
 			hItem = tv_folder.GetRootItem();
 			if (hItem <= 0)  return 1;
 		}
-		int 	hCursor = xutil::SetCursorWait();
-		KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+		HCURSOR hCursor = xutil::SetCursorWait();
+		KXMLDOMElement& e1 = *(KXMLDOMElement*)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);
@@ -211,6 +216,7 @@
 		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());
@@ -231,15 +237,16 @@
 
 	int OnPreRetrieve()
 	{
-		HTREEVIEW hItem = tv_folder.GetSelectedItem();
+		HTREEITEM hItem = tv_folder.GetSelectedItem();
 		if (hItem <= 0) return 1;
 
-		int hCursor = xutil::SetCursorWait();
-		KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+		HCURSOR hCursor = xutil::SetCursorWait();
+
+		KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
 		xstring no = e1.getAttribute(L"no");
-		xml x = 0;
+
 		trace(L"\r\n" + no + L"\r\n" + m_QueryTxt);
-		x = ViewObject::RetrieveData(myDataUrl, L"no", no, L"QueryTxt", m_QueryTxt, L"rows", rows);
+		KXMLDOMDocument x = ViewObject::RetrieveData(myDataUrl, L"no", no, L"QueryTxt", m_QueryTxt, L"rows", rows);
 		if (x)
 		{
 			dw_list.Retrieve(x);
@@ -270,7 +277,7 @@
 		//dw_source.DwRetrieve(GetServerUrl(),L"[source.gdn.sql.xq]",L"EntityID",  EntityID );
 
 
-		xml x = ViewObject::RetrieveData(L"/sale/data/GDN/source/maintex1", L"GDNID", EntityID);
+		KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/source/maintex1", L"GDNID", EntityID);
 		if (x)
 			dw_source.Retrieve(x);
 		else
@@ -278,7 +285,7 @@
 		dw_source.Redraw();
 		dw_source.SetReadOnly(true);
 
-		xml x1 = ViewObject::RetrieveData(L"/sale/data/Custom3/maint/custom/data", L"invno", InvoiceNo);
+		KXMLDOMDocument x1 = ViewObject::RetrieveData(L"/sale/data/Custom3/maint/custom/data", L"invno", InvoiceNo);
 		if (x1)
 			dw_custom.Retrieve(x1);
 		else
@@ -292,15 +299,14 @@
 		return 1;
 	}
 
-	int OnRowChanged(ref TNotifyEvent evt, int p)
+	int OnRowChanged(TEvent* evt, LPARAM p)
 	{
-
 		//fixed one event only one process
 		listwin::OnRowChanged(evt, p);
 
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = hdr.row;
-		int 	hCursor = xutil::SetCursorWait();
+		HCURSOR 	hCursor = xutil::SetCursorWait();
 		RetrieveDetail(row);
 		xutil::RestoreCursor(hCursor);
 
@@ -328,9 +334,9 @@
 		xml x = ViewObject::RetrieveData(L"/sale/data/Gdn/checksource",L"invno",InvoiceNo);
 		if(!x) return 1;
 
-		if(x.GetXmlDoc().selectSingleNode(L"error"))
+		if(x.selectSingleNode(L"error"))
 		{
-			alert(x.GetXmlDoc().selectSingleNode(L"error").text);
+			alert(x.selectSingleNode(L"error").text);
 			return 0;
 		}
 
@@ -342,7 +348,7 @@
 			xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType",L"id", s);
 			if(supplier_x)
 			{
-				if(supplier_x.GetXmlDoc().text != L"业务员")
+				if(supplier_x.text != L"业务员")
 					{
 					alert(L"当前角色不是业务员不能新增单子,请重新选择角色");
 					return 0;
@@ -355,10 +361,10 @@
 
 	int OnSearch()
 	{
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());
+		xaserverarg& arg = *new xaserverarg;
+
 		arg.AddArg(L"text", searchStr);
-		OpenWindow(L"dev:xpage[search.dialog.vx]", cast(arg as int));
+		OpenWindow(L"dev:xpage[search.dialog.vx]", (LPARAM)&arg);
 		xstring str = arg.GetArgString(L"text");
 		if (str != searchStr)
 		{
@@ -374,7 +380,7 @@
 		if (comdid == L"action:bill.refresh")
 		{
 			changeddlb = 1;
-			int RItem = tv_folder.GetRootItem();
+			HTREEITEM RItem = tv_folder.GetRootItem();
 			while (tv_folder.GetChildItem(RItem))
 				tv_folder.DeleteItem(tv_folder.GetChildItem(RItem));
 			ExpandFolderItem(RItem, L"Category:Customer");
@@ -395,8 +401,8 @@
 		else if (comdid.find(L"bill.print") > 0)
 		{
 			xstring EntityIDS = dw_list.GetGuid(dw_list.GetRow());
-			xml xs = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityIDS);
-			xstring Results1 = xs.GetXmlDoc().text();
+			KXMLDOMDocument xs = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityIDS);
+			xstring Results1 = xs.text();
 			if (Results1 != L"")
 			{
 				alert(Results1);
@@ -412,10 +418,10 @@
 			if (publiccode::GetUser().name != L"admin")
 			{
 				xstring s = publiccode::GetUser().id;
-				xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
+				KXMLDOMDocument supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
 				if (supplier_x)
 				{
-					if (supplier_x.GetXmlDoc().text != L"跟单")
+					if (supplier_x.text() != L"跟单")
 					{
 						alert(L"当前角色不是跟单员不能新增单子,请重新选择角色");
 						return 0;
@@ -426,11 +432,11 @@
 		else if (comdid == L"action:bill.GDNDelay")
 		{
 			xstring EntityIDEx = dw_list.GetGuid(dw_list.GetRow());
-			xaserverarg argEx = new xaserverarg;
+			xaserverarg& argEx = *new xaserverarg;
 			argEx.setNativePointer(argEx.CreateInstance());
 			trace(EntityIDEx);
 			argEx.AddArg(L"GDNID", EntityIDEx);
-			OpenWindow(L"dev:xpage[GDNDelay.vx]", cast(argEx as int));
+			OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&argEx);
 			return 1;
 		}
 		else if (comdid == L"action:bill.check.ask")
@@ -443,32 +449,32 @@
 			}
 
 			xstring EntityID = dw_list.GetGuid(dw_list.GetRow());
-			xml xx = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityID);
-			xstring Results = xx.GetXmlDoc().text();
+			KXMLDOMDocument xx = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityID);
+			xstring Results = xx.text();
 			if (Results != L"")
 			{
 				alert(Results);
 				return 0;
 			}
 
-			xml xx2 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeEx", L"GDNID", EntityID);
-			xstring Results2 = xx2.GetXmlDoc().text();
+			KXMLDOMDocument xx2 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeEx", L"GDNID", EntityID);
+			xstring Results2 = xx2.text();
 			if (Results2 != L"")
 			{
 				alert(Results2);
 				return 0;
 			}
 
-			xml xx3 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeExS", L"GDNID", EntityID);
-			xstring Results3 = xx3.GetXmlDoc().text();
+			KXMLDOMDocument xx3 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeExS", L"GDNID", EntityID);
+			xstring Results3 = xx3.text();
 			if (Results3 != L"")
 			{
 				alert(Results3);
 				return 0;
 			}
 
-			xml xx4 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeAmount", L"GDNID", EntityID);
-			xstring Results4 = xx4.GetXmlDoc().text();
+			KXMLDOMDocument xx4 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeAmount", L"GDNID", EntityID);
+			xstring Results4 = xx4.text();
 			if (Results4 != L"")
 			{
 				alert(Results4);
@@ -476,18 +482,18 @@
 			}
 
 			/*xml xx5= ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNCost",L"GDNID",EntityID);
-			xstring Results5=xx5.GetXmlDoc().text();
+			xstring Results5=xx5.text();
 			if(Results5 !=L"")
 			{
 				alert(Results5);
 				return 0;
 			}*/
 
-			xaserverarg arg = new xaserverarg;
+			xaserverarg& arg = *new xaserverarg;
 			arg.setNativePointer(arg.CreateInstance());
 			trace(EntityID);
 			arg.AddArg(L"GDNID", EntityID);
-			OpenWindow(L"dev:xpage[GDNDelay.vx]", cast(arg as int));
+			OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&arg);
 
 		}
 		else if (comdid == L"action:bill.SourceRemark") return OnSourceRemark();
@@ -498,18 +504,18 @@
 	int OnSourceRemark()
 	{
 		xstring name = L"出运明细单";
-		xml x = ViewObject::RetrieveData(L"/sale/data/TradeFinance3/GetSetUpRemarks", L"Type", name);
-		KXMLDOMNodeList items = x.GetXmlDoc().selectNodes(L"data/Item");
+		KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/TradeFinance3/GetSetUpRemarks", L"Type", name);
+		KXMLDOMNodeList items = x.selectNodes(L"data/Item");
 		KXMLDOMNode t = items.item(0);
 		xstring Content = L"";
 		if (t.selectSingleNode(L"Content"))
 		{
 			Content = t.selectSingleNode(L"Content").text();
 		}
-		xaserverarg arg1 = new xaserverarg;
+		xaserverarg& arg1 = *new xaserverarg;
 		arg1.setNativePointer(arg1.CreateInstance());
 		arg1.AddArg(L"value", Content);
-		OpenWindow(L"dev:xpage[memo.edit.new.vx]", arg1.getNativePointer());
+		OpenWindow(L"dev:xpage[memo.edit.new.vx]", (LPARAM)&arg1);
 
 		return 1;
 	}
@@ -518,8 +524,8 @@
 	{
 		int row = dw_list.GetRow();
 		xstring GDNID = dw_list.GetGuid(row);
-		xml x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckCDLine", L"GDNID", GDNID);
-		xstring  r = x.GetXmlDoc().text();
+		KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckCDLine", L"GDNID", GDNID);
+		xstring  r = x.text();
 		int r1 = r.toInt();
 		if (x)
 		{
@@ -536,8 +542,8 @@
 	{
 		int row = dw_list.GetRow();
 		xstring GDNID = dw_list.GetGuid(row);
-		xml x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckGW", L"GDNID", GDNID);
-		xstring  r = x.GetXmlDoc().text();
+		KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckGW", L"GDNID", GDNID);
+		xstring  r = x.text();
 		int r1 = r.toInt();
 		if (x)
 		{
@@ -552,17 +558,16 @@
 
 
 	//xcombobox下拉
-	int OnSelectDdlb(ref TNotifyEvent evt, int p)
+	int OnSelectDdlb(TEvent* evt, LPARAM p)
 	{
 		changeddlb = 1;
-		int wid = ddlb_1.GetId();
 		int CB_GETCURSEL = 0x0147;
 		int nIndex = win32::SendMessage(wid, CB_GETCURSEL, 0, 0);
 		KXMLDOMElement e = ddlb_1.GetElement();
-		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + (nIndex + 1).toString() + L"]");
+		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
 		xstring no = e2.selectSingleNode(L"@element").text();
 
-		HTREEVIEW hItem = tv_folder.GetRootItem();
+		HTREEITEM hItem = tv_folder.GetRootItem();
 		while (tv_folder.GetChildItem(hItem))
 			tv_folder.DeleteItem(tv_folder.GetChildItem(hItem));
 
@@ -572,13 +577,12 @@
 		return 1;
 	}
 
-	int OnSelectDataShowDdlb(ref TNotifyEvent evt, int p)
+	int OnSelectDataShowDdlb(TEvent* evt, LPARAM p)
 	{
-		int wid = cbx_datashow.GetId();
 		int CB_GETCURSEL = 0x0147;
 		int nIndex = win32::SendMessage(wid, CB_GETCURSEL, 0, 0);
 		KXMLDOMElement e = cbx_datashow.GetElement();
-		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + (nIndex + 1).toString() + L"]");
+		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
 		rows = e2.selectSingleNode(L"@rows").text();
 		OnPreRetrieve();
 
@@ -586,19 +590,19 @@
 	}
 
 
-	int AttachEvent()
+	int PostOnAttachEvent()
 	{
-		AttachEvent(L"tv_folder", L"TVN_SELCHANGED", OnTreeSelChanged); //树选择
-		//AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",OnTreeExpanding); //树展开
-		AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", OnRowChanged);
-		AttachEvent(L"cbx_1", L"CBN_SELCHANGE", OnSelectDdlb);
-		AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", OnSelectDataShowDdlb);
+		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);
 		return 1;
 	}
 
 	virtual xstring GetTemplateUrl()
 	{
-		return "/sale/view/GDN/template/GDN/ListEx";
+		return L"/sale/view/GDN/template/GDN/ListEx";
 	}
 	int onload()
 	{
@@ -666,7 +670,7 @@
 	int onloaded()
 	{
 
-		HTREEVIEW hItem = tv_folder.GetRootItem();
+		HTREEITEM hItem = tv_folder.GetRootItem();
 		ExpandFolderItem(hItem, L"Category:Customer");
 		tv_folder.ExpandItem(hItem);
 		tv_folder.ItemFocus(hItem);
@@ -678,7 +682,7 @@
 
 
 		//attach my control event
-		AttachEvent();
+		PostOnAttachEvent();
 
 		readed = false;
 
@@ -702,7 +706,7 @@
 			arg.AddArg(L"ReadOnly", L"false");
 		}
 
-		HTREEVIEW hItem = tv_folder.GetCaretItem();
+		HTREEITEM hItem = tv_folder.GetCaretItem();
 		if (hItem <= 0) return 1;
 		KXMLDOMElement e = tv_folder.GetItemData(hItem);
 		xstring  no = e.getAttribute(L"no");

--
Gitblit v1.9.3