#include <wobject/xstring.hpp>
|
#include <xcontrol/xtreeview.hpp>
|
#include <xcontrol/xdwgrid.hpp>
|
#include <wobject/xdouble.hpp>
|
#include <xcontrol/xlayersheet.hpp>
|
|
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
|
#include "viewobject/view.base.hpp"
|
#include "adt/xarray.hpp"
|
|
using xml = KXMLDOMDocument;
|
class __declspec(dllexport) CartermList : public listwin
|
{
|
public:
|
//xdwgrid dw_list;
|
//xdwpages dw_pages;
|
//xstring m_QueryTxt;
|
//KXMLDOMDocument m_configDoc;
|
//static int dw_hWnd;
|
|
public:
|
CartermList(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
|
public:
|
static CartermList* CreateInstance(void* implPtr, void* hWnd)
|
{
|
CartermList* pWin = new CartermList(implPtr, (HWND)hWnd);
|
return pWin;
|
}
|
|
|
|
xstring GetGuid() {
|
return publiccode::GetGuid();
|
}
|
int OnAddrow()
|
{
|
dw_list.InsertRow(0);
|
int rows = dw_list.GetRowCount();
|
dw_list.SetRow(rows);
|
dw_list.SetItemString(rows, L"PartyID", GetGuid());
|
dw_list.SetItemString(rows, L"ContactID", GetGuid());
|
dw_list.SetItemString(rows, L"PAStatus", L"1");
|
dw_list.SetItemString(rows, L"PStatus", L"1");
|
dw_list.SetItemString(rows, L"PCStatus", L"1");
|
dw_list.SetItemString(rows, L"Type", L"7");
|
return 1;
|
}
|
int OnInsertRow()
|
{
|
int row = dw_list.GetRow();
|
if (row<1 || row>dw_list.GetRowCount()) return 0;
|
dw_list.InsertRow(row);
|
dw_list.SetItemString(row, L"PartyID", GetGuid());
|
dw_list.SetItemString(row, L"ContactID", GetGuid());
|
dw_list.SetItemString(row, L"PAStatus", L"1");
|
dw_list.SetItemString(row, L"PStatus", L"1");
|
dw_list.SetItemString(row, L"PCStatus", L"1");
|
dw_list.SetItemString(row, L"Type", L"7");
|
return 1;
|
}
|
|
int ViewUpdate(LPARAM pr, xstring updateItem, xaserverarg arg)
|
{
|
if (updateItem == L"del")
|
{
|
int DelRow = dw_list.GetRow();
|
dw_list.DeleteRow(DelRow);
|
|
}
|
|
return 1;
|
}
|
|
int OnDeleteRow()
|
{
|
int rows = dw_list.GetRowCount();
|
|
int row2 = dw_list.GetPrevSelectRow(rows);
|
while (row2 > 0) {
|
dw_list.DeleteRow(row2);
|
row2 = dw_list.GetPrevSelectRow(row2 - 1);
|
}
|
|
dw_list.SelectRow(0, false);
|
return 1;
|
}
|
|
int OnSave()
|
{
|
/*xstring no = dw_list.GetItemString(1,L"CarTermNo");
|
if(no==L""){
|
alert(L"ÇëÊäÈë³µ¶Ó±àÂ룡");
|
return -1;
|
}
|
xstring SName = dw_list.GetItemString(1,L"Name");
|
if(SName==L""){
|
alert(L"ÇëÊäÈë³µ¶ÓÃû³Æ£¡");
|
return -1;
|
}
|
xstring ContacterName = dw_list.GetItemString(1,L"ContacterName");
|
if(ContacterName==L""){
|
alert(L"ÇëÊäÈëÁªÏµÈËÃû³Æ£¡");
|
return -1;
|
} */
|
xml x;
|
|
dw_list.AcceptText();
|
dw_list.DwUpdateAllToEx(x);
|
trace(x.xml());
|
xaserverarg arg;
|
|
arg.AddArg(L"content", x.xml());
|
arg.AddArg(L"dbmap", L"CarTerm.dbmap");
|
if (xurl::get(L"/sale/data/CarTerm/entity/carterm/save", arg.GetString(), x) != 1)
|
{
|
trace(L"error:" + (xstring)x.xml());
|
alert(L"±£´æÊ§°Ü!");
|
return 0;
|
}
|
else
|
{
|
trace(x.xml());
|
if (x.selectSingleNode(L"error"))
|
{
|
alert(L"±£´æ³ö´í2!");
|
return 0;
|
}
|
alert(L"±£´æ³É¹¦£¡");
|
dw_list.ResetUpdateStatus();
|
}
|
dw_list.Redraw();
|
return 0;
|
}
|
int OnCmdDispatch(xstring comdid)
|
{
|
if (comdid.find(L"action:bill.row.add", 0) >= 0) {
|
OnAddrow();
|
}
|
else if (comdid.find(L"bill.row.insert", 0) >= 0) {
|
OnInsertRow();
|
}
|
else if (comdid.find(L"bill.row.delete", 0) >= 0) {
|
OnDeleteRow();
|
}
|
else if (comdid.find(L"bill.save", 0) >= 0) {
|
//trace(1);
|
OnSave();
|
}
|
return 0;
|
}
|
|
int OnXCommand(TEvent* evt, LPARAM param)
|
{
|
return OnCmdDispatch(evt->xcommand.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
AttachEvent(L"WM_XCOMMAND", (FEvent)&CartermList::OnXCommand);
|
return 1;
|
}
|
|
int onload()
|
{
|
SetAgent();
|
OnAttachEvent();
|
listwin::onload();
|
dw_list.SetReadOnly(false);
|
return -1;
|
}
|
|
};
|