#pragma once
|
|
#include "wobject/xcontrol.hpp"
|
#include "kobject/kdwgrid.hpp"
|
#include "wobject/xurl.hpp"
|
#include "wobject/xaserverarg.hpp"
|
|
|
using kdwgrid = Hxsoft::XFrame::XOffice::XCell::IGridReport;
|
class xdwgrid : public xcontrol
|
{
|
public:
|
xdwgrid() :xcontrol(nullptr) {}
|
xdwgrid(void * implptr):xcontrol(implptr){}
|
public:
|
xdwgrid & operator =(const kcontrol* pcontrol)
|
{
|
this->setNativePointer((void *)pcontrol);
|
return *this;
|
}
|
public:
|
kdwgrid* getKReport() { return (kdwgrid*)this->GetNativePtr(); }
|
public:
|
int GetRow() { return getKReport()->GetRow_(); }
|
int GetColumn() { return getKReport()->GetColumn_(); }
|
|
int GetRowCount() { return getKReport()->GetRowCount_(); }
|
int SetRow(int row) { return getKReport()->SetRow_(row); }
|
public:
|
int GetColumnCount() { return getKReport()->GetColumnCount_(); }
|
LPCTSTR GetColumnName(int col) { return getKReport()->GetColumnName_(col); }
|
int GetColumnIndex(LPCTSTR pColumn) { return getKReport()->GetColumnIndex_(pColumn); }
|
public:
|
xstring GetItemString(int nRow, int nColumn, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->GetItemString_(nRow, nColumn, dwBuffer);
|
}
|
xstring GetItemString(int nRow, LPCTSTR ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->GetItemString_(nRow, ColumnName, dwBuffer);
|
}
|
bool SetItemString(int nRow, int nColumn, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->SetItemString_(nRow, nColumn, lptStr, dwBuffer);
|
}
|
bool SetItemString(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->SetItemString_(nRow, ColumnName, lptStr, dwBuffer);
|
}
|
public:
|
int SaveAs(LPCTSTR pXmlArg = NULL) //另存为
|
{
|
return getKReport()->SaveAs_(pXmlArg);
|
}
|
int SaveAs(KXMLDOMDocument& xml, LPCTSTR pFileName = NULL) //另存为
|
{
|
return getKReport()->SaveAs_(xml,pFileName);
|
}
|
|
public:
|
int InsertRow(int nRow) { return getKReport()->InsertRow_(nRow); }
|
int DeleteRow(int nRow) { return getKReport()->DeleteRow_(nRow); }
|
public:
|
int GetXml(BSTR& bstr) { return getKReport()->GetXml_(bstr); }
|
int GetXml(BSTR& bstr, LPCTSTR pGuid) { return getKReport()->GetXml_(bstr, pGuid); }
|
int LoadXml(BSTR bstr) { return getKReport()->LoadXml_(bstr); }
|
int Load(KXMLDOMElement pElement) { return getKReport()->Load_(pElement); }
|
public:
|
int SetReadOnly(bool bReadOnly = true) { return getKReport()->SetReadOnly_(bReadOnly); }
|
public:
|
int SelectRow(int nRow, bool bSelect = true) { return getKReport()->SelectRow_(nRow, bSelect); }
|
int SelectRow(int sRow, int eRow, bool bSelect = true) { return getKReport()->SelectRow_(sRow, eRow, bSelect); }
|
int GetNextSelectRow(int nStartRow) { return getKReport()->GetNextSelectRow_(nStartRow); }
|
bool IsRowSelected(int nRow) { return getKReport()->IsRowSelected_(nRow); }
|
//int SetSelectBkColor(COLORREF color){return getKReport()->SetSelectBkColor_(color);}
|
int SetSelectionMode(int nMode) { return getKReport()->SetSelectionMode_(nMode); } //0 unselection 1 singleSelection 2 multiselection 3 multiselectionex
|
|
public:
|
int DwUpdateTo(KXMLDOMDocument pXmlDoc) { return getKReport()->DwUpdateTo_(pXmlDoc); }
|
int DwUpdateAllTo(KXMLDOMDocument pXmlDoc) { return getKReport()->DwUpdateAllTo_(pXmlDoc); }
|
public:
|
int Retrieve(LPCTSTR pServer, LPCTSTR pDataUrl, LPCTSTR pArgStr) { return getKReport()->Retrieve_(pServer, pDataUrl, pArgStr); }//读取数据
|
//int Retrieve(ITrans *pTrans,LPCTSTR pDataUrl, LPCTSTR pArgStr);//读取数据
|
int Retrieve(LPCTSTR pDataUrl, LPCTSTR pArgStr) { return getKReport()->Retrieve_(pDataUrl, pArgStr); }//读取数据
|
|
int Retrieve(KXMLDOMElement pElement) { return getKReport()->Retrieve_(pElement); }//读取数据
|
int Retrieve(KXMLDOMDocument& xml) { return getKReport()->Retrieve_(xml); }//读取数据
|
|
public:
|
int SetDataObject(LPCTSTR pServer, LPCTSTR pUrl) { return getKReport()->SetDataObject_(pServer, pUrl); }//设置模板对象
|
//virtual int SetDataObject(ITrans *pTrans,LPCTSTR pUrl) ;//设置模板对象
|
int SetDataObject(LPCTSTR pUrl) { return getKReport()->SetDataObject_(pUrl); }//设置模板对象
|
|
int SetDataObject(KXMLDOMElement pElement) { return getKReport()->SetDataObject_(pElement); }//设置模板对象
|
int SetDataObject(KXMLDOMDocument pDoc) { return getKReport()->SetDataObject_(pDoc); }
|
public:
|
int ImportFile() { return getKReport()->ImportFile_(); }
|
int ImportFile(LPCTSTR pStrFile, LPCTSTR pType = NULL, bool Header = false) { return getKReport()->ImportFile_(pStrFile, pType, Header); }
|
int ImportString(LPCTSTR pStr, LPCTSTR pType = NULL, bool Header = false) { return getKReport()->ImportString_(pStr, pType, Header); }
|
|
public:
|
int Reset() { return getKReport()->Reset_(); }
|
int ResetUpdateStatus() { return getKReport()->ResetUpdateStatus_(); }
|
|
public:
|
int event_ItemFocusChanged(int nRow, int nCol) { return getKReport()->event_ItemFocusChanged_(nRow, nCol); }
|
int event_RowFocusChanged(int nRow, int nOldRow) { return getKReport()->event_RowFocusChanged_(nRow, nOldRow); }
|
int event_GetFocus() { return getKReport()->event_GetFocus_(); }
|
int event_LoseFocus() { return getKReport()->event_LoseFocus_(); }
|
int event_ItemChanged(int nRow, int nCol, LPCTSTR pData) { return getKReport()->event_ItemChanged_(nRow, nCol, pData); }
|
int event_ItemChanging(int nRow, int nCol, LPCTSTR pData) { return getKReport()->event_ItemChanging_(nRow, nCol, pData); }
|
public:
|
int GetDwType() { return getKReport()->GetDwType_(); }
|
public:
|
KXMLDOMElement GetRowElement(int nRow) { return getKReport()->GetRowElement(nRow); }
|
public:
|
int InsertCol(int nCol, LPCTSTR pCaption, LPCTSTR pColName, int nWidth, LPCTSTR pColPath = NULL, LPCTSTR pStyleClass = NULL,
|
LPCTSTR pEditClass = NULL, LPCTSTR pFormatClass = NULL)
|
{
|
return getKReport()->InsertCol(nCol, pCaption, pColName, nWidth, pColPath, pStyleClass, pEditClass, pFormatClass);
|
}
|
int RemoveCol(int nCol) { return getKReport()->RemoveCol(nCol); }
|
int RemoveVCol(int nCol) { return getKReport()->RemoveVCol(nCol); }
|
int RemoveCol(LPCTSTR pColName) { return getKReport()->RemoveCol(pColName); }
|
|
int AddEditStyle(LPCTSTR pName, LPCTSTR pStr) { return getKReport()->AddEditStyle(pName, pStr); }
|
int RemoveEditStyle(LPCTSTR pName, LPCTSTR pStr) { return getKReport()->RemoveEditStyle(pName, pStr); }
|
int SetColEditStyle(LPCTSTR pColName, LPCTSTR pClassName) { return getKReport()->SetColEditStyle(pColName, pClassName); }
|
int SetDDLBData(LPCTSTR pColName, LPCTSTR pData) { return getKReport()->SetDDLBData(pColName, pData); }
|
LPCTSTR GetDDLBData(LPCTSTR pColName) { return getKReport()->GetDDLBData(pColName); }
|
public:
|
bool ItemChangeTo(int nRow, int nColumn, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->ItemChangeTo(nRow, nColumn, lptStr, dwBuffer);
|
}
|
bool ItemChangeTo(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->ItemChangeTo(nRow, ColumnName, lptStr, dwBuffer);
|
}
|
|
public:
|
int CreateTree(LPCWSTR pPath, int nCol, int nImage1, int nImage2)
|
{
|
return getKReport()->CreateTree(pPath, nCol, nImage1, nImage2);
|
}
|
int GetContentRow(int nRow)
|
{
|
return getKReport()->GetContentRow(nRow);
|
}
|
public:
|
int DwUpdateAllToEx(KXMLDOMDocument pXmlDoc)
|
{
|
return getKReport()->DwUpdateAllToEx(pXmlDoc);
|
}
|
public:
|
int DwShareTo(kdwgrid* pPrimaryReport)
|
{
|
return getKReport()->DwShareTo(pPrimaryReport);
|
}
|
public:
|
int SetAskStyle(bool bAskStyle)
|
{
|
return getKReport()->SetAskStyle(bAskStyle);
|
}
|
int CreateTreeEx(LPCTSTR pPath, int nCol, int nImage1, int nImage2)
|
{
|
return getKReport()->CreateTreeEx(pPath, nCol,nImage1, nImage2);
|
}
|
public:
|
LPCTSTR GetItemDisplayString(int nRow, int nColumn, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport() -> GetItemDisplayString(nRow, nColumn, dwBuffer);
|
}
|
LPCTSTR GetItemDisplayString(int nRow, LPCTSTR ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->GetItemDisplayString(nRow, ColumnName, dwBuffer);
|
}
|
bool SetItemDisplayString(int nRow, int nColumn, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->SetItemDisplayString(nRow, nColumn, lptStr, dwBuffer);
|
}
|
bool SetItemDisplayString(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->SetItemDisplayString(nRow, ColumnName, lptStr, dwBuffer);
|
}
|
|
LPCTSTR GetItemTipString(int nRow, int nColumn, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->GetItemTipString(nRow, nColumn, dwBuffer);
|
}
|
LPCTSTR GetItemTipString(int nRow, LPCTSTR ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->GetItemTipString(nRow, ColumnName, dwBuffer);
|
}
|
bool SetItemTipString(int nRow, int nColumn, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->SetItemTipString(nRow, nColumn, lptStr, dwBuffer);
|
}
|
bool SetItemTipString(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
|
{
|
return getKReport()->SetItemTipString(nRow, ColumnName, lptStr, dwBuffer);
|
}
|
public:
|
int AllowSort(bool sort)
|
{
|
return getKReport()->AllowSort(sort);
|
}
|
public:
|
int FindByColumn(int startRow, int columnIndex, LPCTSTR columnValue)
|
{
|
return getKReport()->FindByColumn(startRow, columnIndex, columnValue);
|
}
|
int FindByColumn(int startRow, LPCTSTR column, LPCTSTR columnValue)
|
{
|
return getKReport()->FindByColumn(startRow,column,columnValue);
|
}
|
|
int SetReadOnlyColumn(int columnIndex, bool flag = true)
|
{
|
return getKReport()->SetReadOnlyColumn(columnIndex, flag);
|
}
|
int SetReadOnlyColumn(LPCTSTR column, bool flag = true)
|
{
|
return getKReport()->SetReadOnlyColumn(column, flag);
|
}
|
|
int SetColumnWidth(int columnIndex, int width = 1)
|
{
|
return getKReport()->SetColumnWidth(columnIndex, width);
|
}
|
int SetColumnWidth(LPCTSTR column, int width = 1)
|
{
|
return getKReport()->SetColumnWidth(column, width);
|
}
|
int GetColumnWidth(int columnIndex)
|
{
|
return getKReport()->GetColumnWidth(columnIndex);
|
}
|
int GetColumnWidth(LPCTSTR column)
|
{
|
return getKReport()->GetColumnWidth(column);
|
}
|
int SetColumnState(int columnIndex, bool state)
|
{
|
return getKReport()->SetColumnState(columnIndex, state);
|
}
|
int SetColumnState(LPCTSTR column, bool state)
|
{
|
return getKReport()->SetColumnState(column, state);
|
}
|
|
void SetDataToClip(LPCTSTR DataStr)
|
{
|
return getKReport()->SetDataToClip(DataStr);
|
}
|
int AcceptText()
|
{
|
return getKReport()->AcceptText();
|
}
|
int ShowRowTo(int row)
|
{
|
return getKReport()->ShowRowTo(row);
|
}
|
int GetShowRow()
|
{
|
return getKReport()->GetShowRow();
|
}
|
LPCTSTR GetTitleName(int col)
|
{
|
return getKReport()->GetTitleName(col);
|
}
|
public:
|
int SetRowSort(LPTSTR colName, bool colOrder = true)
|
{
|
return getKReport()->SetRowSort(colName, colOrder);
|
}
|
int SetClickEditFlag(bool f)
|
{
|
return getKReport()->SetClickEditFlag(f);
|
}
|
int Redraw()
|
{
|
return getKReport()->RedrawEx();
|
}
|
bool SetRowMove(int row, int movecount)
|
{
|
return getKReport()->SetRowMove(row, movecount);
|
}
|
int GetTreeRow(int row)
|
{
|
return getKReport()->GetTreeRow( row);
|
}
|
int GetTreeRowCount()
|
{
|
return getKReport()->GetTreeRowCount();
|
}
|
int TreeRowExpand(int row, bool exp)
|
{
|
return getKReport()->TreeRowExpand(row, exp);
|
}
|
int RetrieveDiff(KXMLDOMDocument& xml)//读取数据
|
{
|
return getKReport()->RetrieveDiff(xml);
|
}
|
int Filter(LPTSTR pColumn, LPTSTR pStr)
|
{
|
return getKReport()->Filter(pColumn, pStr);
|
}
|
public:
|
int SetHeaderText(int row, int col, LPTSTR name)
|
{
|
return getKReport()->SetHeaderText(row, col, name);
|
}
|
int MoveColumnTo(int fromcolumn, int tocolumn)
|
{
|
return getKReport()->MoveColumnTo(fromcolumn, tocolumn);
|
}
|
public:
|
void SetEditUpperMode(bool upper)
|
{
|
return getKReport()->SetEditUpperMode(upper);
|
}
|
bool GetEditUpperMode()
|
{
|
return getKReport()->GetEditUpperMode();
|
}
|
public:
|
void ResetRepeats()
|
{
|
return getKReport()->ResetRepeats();
|
}
|
void AddRepeats(wchar_t* colName)
|
{
|
return getKReport()->AddRepeats(colName);
|
}
|
public:
|
LPCTSTR GetColumnProp(int nCol, LPCTSTR pItem)
|
{
|
return L"";
|
//return getKReport()->GetColumnProp(nCol, pItem);
|
}
|
|
LPCTSTR GetColumnProp(LPCTSTR pColName, LPCTSTR pItem)
|
{
|
return L"";
|
//return getKReport()->GetColumnProp(pColName, pItem);
|
}
|
|
int GetItemInt(int row, int col)
|
{
|
xstring str = GetItemString(row, col);
|
return str.toInt();
|
}
|
|
int GetItemInt(int row, xstring col)
|
{
|
xstring str = GetItemString(row, col.c_str());
|
return str.toInt();
|
}
|
|
double GetItemDouble(int row, int col)
|
{
|
xstring str = GetItemString(row, col);
|
return str.toDouble();
|
}
|
|
double GetItemDouble(int row, string col)
|
{
|
xstring str = GetItemString(row, col);
|
return str.toDouble();
|
}
|
|
bool SetItemInt(int row, int col, int str)
|
{
|
return SetItemString(row, col, xstring(str));
|
}
|
|
bool SetItemInt(int row, xstring col, int str)
|
{
|
return SetItemString(row, col.c_str(), xstring(str));
|
}
|
|
bool SetItemDouble(int row, int col, double str)
|
{
|
return SetItemString(row, col, xstring(str));
|
}
|
|
bool SetItemDouble(int row, xstring col, double str)
|
{
|
return SetItemString(row, col.c_str(), xstring(str));
|
}
|
|
public:
|
int openUrl(string aurl)
|
{
|
KXMLDOMDocument x;
|
xurl::get(aurl, L"", x);
|
return SetDataObject(x);
|
}
|
|
int openUrl(string ServerUrl, string aurl)
|
{
|
KXMLDOMDocument x;
|
xurl::get(ServerUrl, aurl, L"", x);
|
return SetDataObject(x);
|
}
|
|
int openSheet(string sheet)
|
{
|
KXMLDOMDocument x;
|
xaserver::LoadUrl(L"", sheet, L"", x);
|
SetDataObject(x);
|
return 1;
|
}
|
|
int UnDeleteRow(int row)
|
{
|
KXMLDOMElement e = GetRowElement(row);
|
if (e.selectSingleNode(L"@update.modify"))
|
e.removeAttribute(L"update.delete");
|
return 1;
|
}
|
|
int LookUpRow(string col, string value, int startRow = 1)
|
{
|
for (int i = startRow; i <= GetRowCount(); i++)
|
{
|
if (GetItemString(i, col) == value) return i;
|
}
|
return 0;
|
}
|
|
int IsRowModified(int row)
|
{
|
KXMLDOMElement e = GetRowElement(row);
|
if (e.selectSingleNode(L"@update.modify")) return true;
|
return false;
|
}
|
|
//cwd
|
double GetItemSumDouble(string col)
|
{
|
double dItemSum = 0.0;
|
int i;
|
int icnt = GetRowCount();
|
if (icnt < 1) return 0.0;
|
for (i = 1; i <= icnt; i++)
|
{
|
double d = GetItemDouble(i, col);
|
dItemSum = dItemSum + d;
|
}
|
//alert(dItemSum.toString());
|
return dItemSum;
|
}
|
|
xstring GetGuid(int row)
|
{
|
KXMLDOMElement e = GetRowElement(row);
|
if (e) return e.getAttribute(L"guid");
|
return L"";
|
}
|
|
public:
|
|
int DwRetrieve(string ServerUrl, string src, string argstr)
|
{
|
KXMLDOMDocument x;
|
xaserver::ExecXQuery(ServerUrl, src, argstr, x);
|
Retrieve(x);
|
Redraw();
|
return 1;
|
}
|
|
int DwRetrieve(string ServerUrl, string src, string arg0, string value0)
|
{
|
xaserverarg arg;
|
arg.AddArg(arg0, value0);
|
DwRetrieve(ServerUrl, src, arg.GetString());
|
return 1;
|
}
|
|
int DwRetrieve(string ServerUrl, string src, string arg0, string value0, string arg1, string value1)
|
{
|
xaserverarg arg;
|
arg.AddArg(arg0, value0);
|
arg.AddArg(arg1, value1);
|
DwRetrieve(ServerUrl, src, arg.GetString());
|
return 1;
|
}
|
};
|