xj qian
2024-07-19 26c872c4c2c1e56925f755e927b58fbe07da2bcb
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;
   }
@@ -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;
@@ -95,12 +96,11 @@
      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;
   }
@@ -113,7 +113,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;
@@ -125,13 +125,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);
      }
@@ -201,18 +201,18 @@
      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);
@@ -224,7 +224,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);
@@ -238,11 +237,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);
@@ -254,7 +253,7 @@
      }
      else
      {
         dw_list.ResetEx();
         dw_list.Reset();
         dw_list.Redraw();
      }
      dw_list.SetReadOnly(true);
@@ -432,11 +431,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")
@@ -592,11 +591,11 @@
   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;
   }
@@ -707,7 +706,7 @@
      }
      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)