|  |  | 
 |  |  | public: | 
 |  |  |    static SO3list* CreateInstance(void* implPtr, void* hWnd) | 
 |  |  |    { | 
 |  |  | 		 | 
 |  |  |       SO3list* pWin = new SO3list(implPtr, (HWND)hWnd); | 
 |  |  |       return pWin; | 
 |  |  |    } | 
 |  |  | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    //树展开 | 
 |  |  |    int OnTreeExpanding(TEvent* evt, int p) | 
 |  |  |    int OnTreeExpanding(TEvent* evt, LPARAM p) | 
 |  |  |    { | 
 |  |  |       NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; | 
 |  |  |       HTREEITEM hItem = nmtv.itemNew.hItem; | 
 |  |  | 
 |  |  |          int row = dw_list.GetRow(); | 
 |  |  |          if (row < 1) return 1; | 
 |  |  |          KXMLDOMElement ele = dw_list.GetRowElement(row); | 
 |  |  |          string id = GetEntityIDName(1); | 
 |  |  |          string entity = ele.selectSingleNode(id).text(); | 
 |  |  |          xstring id = GetEntityIDName(1); | 
 |  |  |          xstring entity = ele.selectSingleNode(id).text(); | 
 |  |  |          //trace(entity); | 
 |  |  |          SetAgent(L"list", entity); | 
 |  |  |          if (arg.GetArgString(L"state") != L"") | 
 |  |  | 
 |  |  |             dw_list.SetItemString(row, L"ApplyStatus", arg.GetArgString(L"state")); | 
 |  |  |          if (arg.GetArgString(L"billstatus") != L"") | 
 |  |  |          { | 
 |  |  |             string billstatus = arg.GetArgString(L"billstatus"); | 
 |  |  |             string statusName = GetBillStatusName(billstatus); | 
 |  |  |             xstring billstatus = arg.GetArgString(L"billstatus"); | 
 |  |  |             xstring statusName = GetBillStatusName(billstatus); | 
 |  |  |             dw_list.SetItemString(row, L"ApprovalStatus", billstatus); | 
 |  |  |             dw_list.SetItemDisplayString(row, L"ApprovalStatus", statusName); | 
 |  |  |          } | 
 |  |  | 
 |  |  |       { | 
 |  |  |          Content = t.selectSingleNode(L"Content").text(); | 
 |  |  |       } | 
 |  |  |       xaserverarg& arg = *new xaserverarg; | 
 |  |  |       xaserverarg arg; | 
 |  |  |       arg.AddArg(L"value", Content); | 
 |  |  |       OpenWindow(L"dev:xpage[memo.edit.new.vx]", arg); | 
 |  |  |  | 
 |  |  | 
 |  |  |       dw_list.SetColumnState(L"SOID", false); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |       string groupname = publiccode::GetUser().groupname; | 
 |  |  |       xstring groupname = publiccode::GetUser().groupname; | 
 |  |  |       if (groupname == L"采购小组") | 
 |  |  |       { | 
 |  |  |          dw_list.SetColumnState(L"USDAmount", false); | 
 |  |  | 
 |  |  |       { | 
 |  |  |          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; |