LiFan
2025-02-13 03ef0b51103c735077c784c7df81ae2bcc1599ab
jrj/xframe/xcontrol/xdwgrid.hpp
@@ -28,7 +28,7 @@
   int SetRow(int row) { return getKReport()->SetRow_(row); }
public:
   int GetColumnCount() { return getKReport()->GetColumnCount_(); }
   LPCTSTR GetColumnName(int col) { return getKReport()->GetColumnName_(col); }
   xstring 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)
@@ -52,7 +52,7 @@
   {
      return getKReport()->SaveAs_(pXmlArg);
   }
   int SaveAs(KXMLDOMDocument& xml, LPCTSTR pFileName = NULL) //另存为
   int SaveAs(KXMLDOMDocument xml, LPCTSTR pFileName = NULL) //另存为
   {
      return getKReport()->SaveAs_(xml,pFileName);
   }
@@ -71,6 +71,7 @@
   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); }
   int GetPrevSelectRow(int nStartRow) { return getKReport()->GetPrevSelectRow(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 
@@ -83,8 +84,8 @@
   //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); }//读取数据
   int Retrieve(KXMLDOMElement  pElement) { return pElement?getKReport()->Retrieve_(pElement):0; }//读取数据
   int Retrieve(KXMLDOMDocument xml) { return  xml?getKReport()->Retrieve_(xml):0; }//读取数据
public:
   int SetDataObject(LPCTSTR pServer, LPCTSTR pUrl) { return getKReport()->SetDataObject_(pServer, pUrl); }//设置模板对象
@@ -101,6 +102,11 @@
public:
   int   Reset() { return getKReport()->Reset_(); }
   int   ResetUpdateStatus() { return getKReport()->ResetUpdateStatus_(); }
public:
   LPTSTR GetColumnProps(LPCTSTR pColName) { return getKReport()->GetColumnProps_(pColName); } //得到列整体XML属性
   int SetColumnProps(LPCTSTR pColName, LPCTSTR pXmlProp) { return getKReport()->SetColumnProps_(pColName, pXmlProp); } //设置列整体XML属性
   LPTSTR GetColumnProp(LPCTSTR pColName, LPCTSTR pItem) { return getKReport()->GetColumnProp_(pColName, pItem); } //得到列属性
   int SetColumnProp(LPCTSTR pColName, LPCTSTR pItem, LPCTSTR pProp) { return getKReport()->SetColumnProp_(pColName, pItem, pProp); }//设置列属性
public:
   int event_ItemFocusChanged(int nRow, int nCol) { return getKReport()->event_ItemFocusChanged_(nRow, nCol); }
@@ -206,22 +212,22 @@
      return getKReport()->AllowSort(sort);
   }
public:
   int FindByColumn(int startRow, int columnIndex, LPCTSTR columnValue)
   int FindByColumn(int startRow, int columnIndex, xstring columnValue)
   {
      return getKReport()->FindByColumn(startRow, columnIndex, columnValue);
      return getKReport()->FindByColumn(startRow, columnIndex, columnValue.c_str());
   }
   int FindByColumn(int startRow, LPCTSTR column, LPCTSTR columnValue)
   int FindByColumn(int startRow, xstring column, xstring columnValue)
   {
      return getKReport()->FindByColumn(startRow,column,columnValue);
      return getKReport()->FindByColumn(startRow,column.c_str(), columnValue.c_str());
   }
   int SetReadOnlyColumn(int columnIndex, bool flag = true)
   {
      return getKReport()->SetReadOnlyColumn(columnIndex, flag);
   }
   int SetReadOnlyColumn(LPCTSTR column, bool flag = true)
   int SetReadOnlyColumn(xstring column, bool flag = true)
   {
      return getKReport()->SetReadOnlyColumn(column, flag);
      return getKReport()->SetReadOnlyColumn(column.c_str(), flag);
   }
   int SetColumnWidth(int columnIndex, int width = 1)
@@ -255,7 +261,7 @@
   }
   int AcceptText()
   {
      return getKReport()->AcceptText();
      return getKReport()->AcceptText_();
   }
   int ShowRowTo(int row)
   {
@@ -270,9 +276,9 @@
      return getKReport()->GetTitleName(col);
   }
public:
   int SetRowSort(LPTSTR colName, bool colOrder = true)
   int SetRowSort(LPCTSTR colName, bool colOrder = true)
   {
      return getKReport()->SetRowSort(colName, colOrder);
      return getKReport()->SetRowSort((LPTSTR)colName, colOrder);
   }
   int SetClickEditFlag(bool f)
   {
@@ -280,7 +286,7 @@
   }
   int Redraw()
   {
      return getKReport()->RedrawEx();
      return getKReport()->Redraw();
   }
   bool SetRowMove(int row, int movecount)
   {
@@ -302,9 +308,9 @@
   {
      return getKReport()->RetrieveDiff(xml);
   }
   int Filter(LPTSTR pColumn, LPTSTR pStr)
   int Filter(LPCTSTR pColumn, LPCTSTR pStr)
   {
      return getKReport()->Filter(pColumn, pStr);
      return getKReport()->Filter((LPTSTR)pColumn, (LPTSTR)pStr);
   }
public:
   int SetHeaderText(int row, int col, LPTSTR name)
@@ -334,15 +340,24 @@
      return getKReport()->AddRepeats(colName);
   }
public:
   LPTSTR GetColumnProp(int nCol, LPCTSTR pItem)
   void ShowEditor()
   {
      return getKReport()->GetColumnProp(nCol, pItem);
      getKReport()->ShowEditor();
   }
public:
   /*
   LPCTSTR GetColumnProp(int nCol, LPCTSTR pItem)
   {
      return L"";
      //return getKReport()->GetColumnProp(nCol, pItem);
   }
   LPTSTR GetColumnProp(LPCTSTR pColName, LPCTSTR pItem)
   LPCTSTR GetColumnProp(LPCTSTR pColName, LPCTSTR pItem)
   {
      return getKReport()->GetColumnProp(pColName, pItem);
      return L"";
      //return getKReport()->GetColumnProp(pColName, pItem);
   }
   */
   int GetItemInt(int row, int col)
   {
@@ -350,9 +365,9 @@
      return str.toInt();
   }
   int GetItemInt(int row, string col)
   int GetItemInt(int row, xstring col)
   {
      xstring str = GetItemString(row, col);
      xstring str = GetItemString(row, col.c_str());
      return str.toInt();
   }
@@ -373,9 +388,9 @@
      return SetItemString(row, col, xstring(str));
   }
   bool SetItemInt(int row, string col, int str)
   bool SetItemInt(int row, xstring col, int str)
   {
      return SetItemString(row, col, xstring(str));
      return SetItemString(row, col.c_str(), xstring(str));
   }
   bool SetItemDouble(int row, int col, double str)
@@ -383,9 +398,70 @@
      return SetItemString(row, col, xstring(str));
   }
   bool SetItemDouble(int row, string col, double str)
   bool SetItemDouble(int row, xstring col, double str)
   {
      return SetItemString(row, col, xstring(str));
   }
   int DataBI(LPCTSTR pSchema = NULL) //数据BI分析
   {
      return getKReport()->DataBI_(pSchema);
   }
   LPTSTR DataAnalysis(LPCTSTR pSchema = NULL)
   {
      return getKReport()->DataAnalysis(pSchema);
   }
   xstring GetItemString(int nRow, xstring ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->GetItemString_(nRow, ColumnName.c_str(),dwBuffer);
   }
   bool SetItemString(int nRow, int ColumnName, xstring lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemString_(nRow, ColumnName, lptStr.c_str(), dwBuffer);
   }
   bool SetItemString(int nRow, LPCTSTR ColumnName, xstring lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemString_(nRow, ColumnName, lptStr.c_str(), dwBuffer);
   }
   bool SetItemString(int nRow, xstring ColumnName,xstring lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemString_(nRow, ColumnName.c_str(), lptStr.c_str(), dwBuffer);
   }
   bool SetItemString(int nRow, xstring ColumnName, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemString_(nRow, ColumnName.c_str(), lptStr, dwBuffer);
   }
   xstring GetItemDisplayString(int nRow, xstring ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->GetItemDisplayString(nRow, ColumnName.c_str(), dwBuffer);
   }
   bool SetItemDisplayString(int nRow, int ColumnName, xstring lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemDisplayString(nRow, ColumnName, lptStr.c_str(), dwBuffer);
   }
   bool SetItemDisplayString(int nRow, LPCTSTR ColumnName, xstring lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemDisplayString(nRow, ColumnName, lptStr.c_str(), dwBuffer);
   }
   bool SetItemDisplayString(int nRow, xstring ColumnName, xstring lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemDisplayString(nRow, ColumnName.c_str(), lptStr.c_str(), dwBuffer);
   }
   bool SetItemDisplayString(int nRow, xstring ColumnName, LPCTSTR lptStr, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->SetItemDisplayString(nRow, ColumnName.c_str(), lptStr, dwBuffer);
   }
   LPCTSTR GetItemTipString(int nRow, xstring ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return getKReport()->GetItemTipString(nRow, ColumnName.c_str(), dwBuffer);
   }
public:
@@ -458,52 +534,18 @@
      return L"";
   }
   int SetGuid(int row,xstring val)
   {
      KXMLDOMElement  e = GetRowElement(row);
      if (e)
      {
         e.setAttribute(L"guid",val.c_str());
         return 1;
      }
      return 0;
   }
public:
#if 0
   int GetItemInt(int row, int col)
   {
      xstring str = GetItemString(row, col);
      return str.toInt();
   }
   double GetItemDouble(int row, int col)
   {
      xstring str = GetItemString(row, col);
      return str.toDouble();
   }
   int GetItemInt(int row, string col)
   {
      xstring str = GetItemString(row, col);
      return str.toInt();
   }
   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 SetItemDouble(int row, int col, double str)
   {
      return SetItemString(row, col, xstring(str));
   }
   bool SetItemInt(int row, string col, int str)
   {
      return SetItemString(row, col, xstring(str));
   }
   bool SetItemDouble(int row, string col, double str)
   {
      return SetItemString(row, col, xstring(str));
   }
#endif
   int DwRetrieve(string ServerUrl, string src, string argstr)
   {
@@ -530,6 +572,24 @@
      DwRetrieve(ServerUrl, src, arg.GetString());
      return 1;
   }
   xstring GetItemDisplayXmlString(int nRow, int nColumn, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return xutil::ToXmlText(getKReport()->GetItemDisplayString(nRow, nColumn, dwBuffer));
   }
   xstring GetItemDisplayXmlString(int nRow, xstring ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return xutil::ToXmlText(getKReport()->GetItemDisplayString(nRow, ColumnName.c_str(), dwBuffer));
   }
   xstring GetItemXmlString(int nRow, int nColumn, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return xutil::ToXmlText(getKReport()->GetItemString_(nRow, nColumn, dwBuffer));
   }
   xstring GetItemXmlString(int nRow, xstring ColumnName, kdwgrid::DWBuffer dwBuffer = kdwgrid::dbuf_normal)
   {
      return xutil::ToXmlText(getKReport()->GetItemString_(nRow, ColumnName.c_str(), dwBuffer));
   }
};