From 03ea53b80bd65932f4c13848fddb0385647a6dc3 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期一, 15 七月 2024 11:58:07 +0800 Subject: [PATCH] update tree view --- jrj/xframe/xcontrol/xtreeview.hpp | 2 +- jrj/project/business/Product.list.cpp | 39 ++++++++++++++++++++------------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/jrj/project/business/Product.list.cpp b/jrj/project/business/Product.list.cpp index 6311956..d543a68 100644 --- a/jrj/project/business/Product.list.cpp +++ b/jrj/project/business/Product.list.cpp @@ -731,7 +731,7 @@ //alert(id); HTREEITEM hItem = tv_folder.GetSelectedItem(); - KXMLDOMElement& e1 = *(KXMLDOMElement * )tv_folder.GetItemData(hItem); + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); xstring categoryid = e1.selectSingleNode(L"@guid").text(); //alert(categoryid); xaserverarg* arg = new xaserverarg; @@ -746,7 +746,7 @@ int ItemMaint() { HTREEITEM hItem = tv_folder.GetSelectedItem(); - KXMLDOMElement& e = *(KXMLDOMElement * )tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); //xstring no = e.getAttribute(L"no"); //if(no==L"") return 1; xstring guid = e.getAttribute(L"guid"); @@ -777,7 +777,7 @@ HTREEITEM hTopItem = LookupTopFolder(hItem); xstring name = tv_folder.GetItemLabel(hTopItem); - KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); //alert(e.xml); /*xstring no = e.getAttribute(L"no"); if(no==L"") return 1; @@ -821,7 +821,7 @@ xaserverarg arg; if (hItem != hTopItem) { - KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); xstring folder = e.getAttribute(L"guid"); if (folder != L"") { @@ -858,7 +858,7 @@ if (name == L"个人库" && selectname == L"新产品" && tv_folder.GetParentItem(hItem) == hTopItem) return 1; if (hItem != hTopItem) { - KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); xstring folder = e.getAttribute(L"guid"); if (folder != L"") { @@ -1189,19 +1189,19 @@ xstring name = tv_folder.GetItemLabel(hTopItem); HTREEITEM child = tv_folder.GetChildItem(hItem); xstring no = L""; - KXMLDOMElement* e=nullptr; + KXMLDOMElement e; if (name == L"公司库" && !child) { no = L""; if (hTopItem != hItem) { - e = (KXMLDOMElement * )tv_folder.GetItemData(hItem); - no = e->getAttribute(L"categoryid"); + e = tv_folder.GetItemData(hItem); + no = e.getAttribute(L"categoryid"); } else { - e = (KXMLDOMElement*)tv_folder.GetItemData(hItem); - no = e->getAttribute(L"categoryid"); + e = tv_folder.GetItemData(hItem); + no = e.getAttribute(L"categoryid"); } MakeGoodsFolderItem(hItem, no); } @@ -1210,8 +1210,8 @@ no = L""; if (hTopItem != hItem) { - e = (KXMLDOMElement*)tv_folder.GetItemData(hItem); - no = e->getAttribute(L"categoryid"); + e = tv_folder.GetItemData(hItem); + no = e.getAttribute(L"categoryid"); MakeUserGoodsFolderItem(hItem, no); } } @@ -1245,7 +1245,7 @@ { while (true) { - KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); xstring str = e1.getAttribute(L"no"); if (str.find(L"Customer:") >= 0) return hItem; hItem = tv_folder.GetParentItem(hItem); @@ -1258,7 +1258,7 @@ { hItem = LookupCustomerFolder(hItem); if (hItem == 0) return L""; - KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); xstring str = e1.getAttribute(L"no"); return str.mid(xstring(L"Customer:").length(), 9999); } @@ -1300,7 +1300,7 @@ { if (selectname != name) { - KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); xstring str = e1.getAttribute(L"no"); alert(str); if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0) @@ -1366,7 +1366,7 @@ if (hItem != hTopItem) { - KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); no = e.getAttribute(L"guid"); } @@ -1456,7 +1456,7 @@ xstring sImage = e.getAttribute(L"image"); 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); tv_folder.SetItemChild(h, 1); ExpandChildFolder(h, e); } @@ -1521,14 +1521,15 @@ dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); + tv_folder.ExpandItem(tv_folder.GetRootItem()); + tv_folder.ItemFocus(tv_folder.GetRootItem()); + if (dw_list.GetRowCount()) { xshtml xs = GetControl(L"html_detail"); xs.SetContent(makeHtml(1)); } - tv_folder.ExpandItem(tv_folder.GetRootItem()); - tv_folder.ItemFocus(tv_folder.GetRootItem()); return 1; } diff --git a/jrj/xframe/xcontrol/xtreeview.hpp b/jrj/xframe/xcontrol/xtreeview.hpp index e689ad9..d559fcb 100644 --- a/jrj/xframe/xcontrol/xtreeview.hpp +++ b/jrj/xframe/xcontrol/xtreeview.hpp @@ -126,7 +126,7 @@ return (HTREEITEM)SendMessage(GetHWND(), TVM_GETNEXTITEM, TVGN_CARET,0); } - string GetItemLabel(HTREEITEM hItem) + xstring GetItemLabel(HTREEITEM hItem) { int TVM_GETITEM = TV_FIRST + 62; -- Gitblit v1.9.3