#pragma once #include "wobject/xcontrol.hpp" #include "kobject/kreport.hpp" using kreport = Hxsoft::XFrame::XOffice::XReport::IXReport; using KXMLDOMDocument = Hxsoft::XFrame::KXMLDOMDocument; using KXMLDOMElement = Hxsoft::XFrame::KXMLDOMElement; class xreport : public xcontrol { public: xreport():xcontrol(nullptr){} xreport(void * implptr):xcontrol(implptr){} kreport * getKReport(){return (kreport*)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: LPCTSTR GetItemString(int nRow,int nColumn,kreport::DWBuffer dwBuffer=kreport::dbuf_normal) { return getKReport()->GetItemString_(nRow,nColumn,dwBuffer); } LPCTSTR GetItemString(int nRow,LPCTSTR ColumnName,kreport::DWBuffer dwBuffer=kreport::dbuf_normal) { return getKReport()->GetItemString_(nRow,ColumnName,dwBuffer); } bool SetItemString(int nRow,int nColumn,LPCTSTR lptStr,kreport::DWBuffer dwBuffer=kreport::dbuf_normal) { return getKReport()->SetItemString_(nRow,nColumn,lptStr,dwBuffer); } bool SetItemString(int nRow,LPCTSTR ColumnName,LPCTSTR lptStr,kreport::DWBuffer dwBuffer=kreport::dbuf_normal) { return getKReport()->SetItemString_(nRow,ColumnName,lptStr,dwBuffer); } 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: 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); } };