xj qian
2024-06-26 800a8b96f022180b9bdf65aaf285eea4fe7e1280
Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj
已修改2个文件
207 ■■■■ 文件已修改
jrj/project/business/GDN3.list.cpp 193 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Supplier.maint.cpp 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,22 +62,22 @@
        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();
@@ -87,13 +87,13 @@
        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 +101,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 +142,7 @@
        return 1;
    }
    int OnTreeSelChanged(ref TNotifyEvent evt, int p)
    int OnTreeSelChanged(TEvent* evt, LPARAM p)
    {
        if (changeddlb) return 1;
        return OnPreRetrieve();
@@ -153,20 +154,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 +177,7 @@
                dw_list.SetItemDisplayString(row, L"ApprovalStatus", statusName);
            }
            this.dw_list.Redraw();
            dw_list.Redraw();
        }
        return 1;
@@ -195,14 +196,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);
@@ -231,15 +232,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 +272,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 +280,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 +294,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 +329,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 +343,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 +356,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 +375,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 +396,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 +413,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 +427,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 +444,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 +477,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 +499,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 +519,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 +537,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 +553,17 @@
    //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);
        int nIndex = SendMessageW(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 +573,13 @@
        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);
        int nIndex = SendMessageW(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();
@@ -588,17 +589,17 @@
    int AttachEvent()
    {
        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 +667,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);
@@ -702,7 +703,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");
jrj/project/business/Supplier.maint.cpp
@@ -1083,9 +1083,9 @@
    int UpLoad(xstring name)
    {
        xstring str = name.mid(0,2);
        str = str.upper();
        str = str.toUpper();
        //alert(str);
        int ret1 = xaserver::Upload(L"supplier"+str, name+L".jpg", GetHWND(),L"",false);
        int ret1 = xaserver::Upload(GetServerUrl(), L"supplier" + str, name + L".jpg", GetHWND(), L"", false);
        //alert(ret1);
        return ret1;
    }                                    
@@ -1151,8 +1151,8 @@
    int OnItemClick(TEvent* evt, int p)
    {
        ref DWNMHDR  hdr1 = trust(evt.pnmh as ref DWNMHDR);
        xstring colname1= hdr1.colname;
        DWNMHDR* hdr1 = (DWNMHDR*)evt->notify.pnmh;
        xstring colname1= hdr1->colname;
        
        DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
        xstring value = hdr->data;
@@ -1293,9 +1293,9 @@
        xdwtable dw = dw_visitp.FindDwTable(L"item4",0);
    
        
        ref DWNMHDR  hdr = cast(evt.pnmh as ref DWNMHDR);
        xstring value = hdr.data;
        int row = hdr.row;
        DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
        xstring value = hdr->data;
        int row = hdr->row;
        //alert(value);
        xaserverarg& arg=*new xaserverarg;
        arg.setNativePointer(arg.CreateInstance());