xj qian
2024-06-25 c2e7609cd65ad838edf1b7ea909af8ac50b6b8e9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
#pragma once
 
#include "wobject/xcontrol.hpp"
#include "kobject/kdwtable.hpp"
#include "wobject/xaserverarg.hpp"
#include "wobject/xurl.hpp"
 
using kdwtable = Hxsoft::XFrame::XOffice::XCell::IDwTable;
class xdwtable : public xcontrol
{
public:
    xdwtable(void * implptr=nullptr) : xcontrol(implptr){}
public:
    kdwtable* GetDwTable()
    {
        return (kdwtable*)getNativePointer();
    }
public:
    int GetRow() { return GetDwTable()->GetRow_(); }//得到行
    int GetColumn() { return GetDwTable()->GetColumn_(); }//得到列
    int GetRowCount() { return GetDwTable()->GetRowCount_(); } //得到行数
    int GetColumnCount() { return GetDwTable()->GetColumnCount_(); } //得到列数
public:
    int SetRow(int row) { return GetDwTable()->SetRow_(row); }
public:
    LPCTSTR GetNote(int nRow, int nColumn) { return GetDwTable()->GetNote_(nRow, nColumn); }//得到备注
    bool SetNote(int nRow, int nColumn, LPCTSTR pStrNote) { return GetDwTable()->SetNote_(nRow, nColumn, pStrNote); } //设置备注
    bool AddNote(int nRow, int nColumn, LPCTSTR pStrNote, LPCTSTR pUser = NULL, LPCTSTR pData = NULL) { return GetDwTable()->AddNote_(nRow, nColumn, pStrNote, pUser, pData); } //设置备注
 
    LPCTSTR GetNote1(int nRow, int nColumn) { return GetDwTable()->GetNote1_(nRow, nColumn); }//得到修改
    bool SetNote1(int nRow, int nColumn, LPCTSTR pStrNote) { return GetDwTable()->SetNote1_(nRow, nColumn, pStrNote); } //设置修改
    bool AddNote1(int nRow, int nColumn, LPCTSTR pStrNote, LPCTSTR pUser = NULL, LPCTSTR pData = NULL) { return GetDwTable()->AddNote1_(nRow, nColumn, pStrNote, pUser, pData); } //设置修改
 
    LPCTSTR GetNote2(int nRow, int nColumn) { return GetDwTable()->GetNote2_(nRow, nColumn); }//得到批注
    bool SetNote2(int nRow, int nColumn, LPCTSTR pStrNote) { return GetDwTable()->SetNote2_(nRow, nColumn, pStrNote); } //设置批注
    bool AddNote2(int nRow, int nColumn, LPCTSTR pStrNote, LPCTSTR pUser = NULL, LPCTSTR pData = NULL) { return GetDwTable()->AddNote2_(nRow, nColumn, pStrNote, pUser, pData); } //设置批注
 
public:
    int InsertRow(int nRow) { return GetDwTable()->InsertRow_(nRow); }//插入行
    int DeleteRow(int nRow) { return GetDwTable()->DeleteRow_(nRow); }//删除行
    int InsertRows(int nRow, int nAmt) { return GetDwTable()->InsertRows_(nRow, nAmt); }//插入多行
    int DeleteRows(int nRow, int nAmt) { return GetDwTable()->DeleteRows_(nRow, nAmt); }//删除多行
public:
    LPCTSTR GetColumnName(int nColumn) { return GetDwTable()->GetColumnName_(nColumn); }//得到列名
    int GetColumnIndex(LPCTSTR pColumn) { return GetDwTable()->GetColumnIndex_(pColumn); } //得到列号
public:
    //LPCTSTR GetItemString(int nRow, int nColumn, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->GetItemString_(nRow, nColumn, dwBuffer); }//得到数据值
    //LPCTSTR GetItemString(int nRow, LPCTSTR ColumnName, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->GetItemString_(nRow, ColumnName, dwBuffer); }//得到数据值
    xstring GetItemString(int nRow, int nColumn, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->GetItemString_(nRow, nColumn, dwBuffer); }//得到数据值
    xstring GetItemString(int nRow, LPCTSTR ColumnName, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->GetItemString_(nRow, ColumnName, dwBuffer); }//得到数据值
    bool SetItemString(int nRow, int nColumn, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->SetItemString_(nRow, nColumn, lptStr, dwBuffer); }//设置数据值
    bool SetItemString(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->SetItemString_(nRow, ColumnName, lptStr, dwBuffer); }//设置数据值
public:
    bool SetItemStatus(int nRow, int nColumn, kdwtable::RowStatus status, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->SetItemStatus_(nRow, nColumn, status, dwBuffer); }//设置行列状态
    kdwtable::RowStatus GetItemStatus(int nRow, int nColumn, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal) { return GetDwTable()->GetItemStatus_(nRow, nColumn, dwBuffer); }//得到行列状态
 
public:
    int    SetKeyValue(int nRow, int nKeyValue) { return GetDwTable()->SetKeyValue_(nRow, nKeyValue); }//设置整数关健值
    int GetKeyValue(int nRow) { return GetDwTable()->GetKeyValue_(nRow); }//得到整数关健值
    bool GetGuid(int nRow, TCHAR Guid[], int nMax) { return GetDwTable()->GetGuid_(nRow, Guid, nMax); }//设置guid
    bool SetGuid(int nRow, LPCTSTR pStrGuid) { return GetDwTable()->SetGuid_(nRow, pStrGuid); } //设置guid
 
public:
    int SetReadOnly(bool bReadOnly = true) { return GetDwTable()->SetReadOnly_(bReadOnly); } //设置只读
public:
    int SelectRow(int nRow, bool bSelect = true) { return GetDwTable()->SelectRow_(nRow, bSelect); }//选中单行
    int SelectRow(int sRow, int eRow, bool bSelect = true) { return GetDwTable()->SelectRow_(sRow, eRow, bSelect); }//选中多行
    int GetNextSelectRow(int nStartRow) { return GetDwTable()->GetNextSelectRow_(nStartRow); } //得到下拉修改行
    bool IsRowSelected(int nRow) { return GetDwTable()->IsRowSelected_(nRow); } //判断行是否被选种
    int SetSelectBkColor(COLORREF color) { return GetDwTable()->SetSelectBkColor_(color); } //设置选择的背景颜色
    int SetSelectionMode(int nMode) { return GetDwTable()->SetSelectionMode_(nMode); } //设置选择的模式//0 unselection 1 singleSelection 2 multiselection 3 multiselectionex 
 
public:
    int    DeletedCount() { return GetDwTable()->DeletedCount_(); } //得到删除行行数
    int    ModifiedCount() { return GetDwTable()->ModifiedCount_(); } //得到修改行行数
public:
    int    Reset() { return GetDwTable()->Reset_(); } //清除数据
    int    ResetUpdateStatus() { return GetDwTable()->ResetUpdateStatus_(); }//清除修改标记
public:
    BSTR GetXml(LPCTSTR pRoot, bool bIncludeChild) { return GetDwTable()->GetXml_(pRoot, bIncludeChild); } //获取XML数据
    int Load(KXMLDOMElement  pElement) { return GetDwTable()->Load_(pElement); }//读取数据
    int  LoadXml(BSTR bstr) { return GetDwTable()->LoadXml_(bstr); }//读取数据
public:
    int ClearObserver() { return GetDwTable()-> ClearObserver_(); }//清除事件侦听对象
public:
    int DwUpdateTo(KXMLDOMDocument pXmlDoc) { return GetDwTable()->DwUpdateTo_(pXmlDoc); }//把数据更新到XML对象中
    int DwUpdateAllTo(KXMLDOMDocument  pXmlDoc) { return GetDwTable()->DwUpdateAllTo_(pXmlDoc); }//把数据更新到XML对象中
public:
    int Retrieve(LPCTSTR pServer, LPCTSTR pDataUrl, LPCTSTR pArgStr) { return GetDwTable()->Retrieve_(pServer, pDataUrl, pArgStr); }//读取数据
    int Retrieve(LPCTSTR pDataUrl, LPCTSTR pArgStr) { return GetDwTable()->Retrieve_(pDataUrl, pArgStr); }//读取数据
 
    int Retrieve(KXMLDOMElement  pElement) { return GetDwTable()->Retrieve_(pElement); }//读取数据
    int Retrieve(KXMLDOMDocument& xml) { return GetDwTable()->Retrieve_(xml); }//读取数据
 
    int RetrieveEx(LPCTSTR pServer, LPCTSTR pEntity, LPCTSTR pEntityKey) { return GetDwTable()->RetrieveEx_(pServer, pEntity, pEntityKey); }//读取数据
    int RetrieveEx(LPCTSTR pEntity, LPCTSTR pEntityKey) { return GetDwTable()->RetrieveEx_(pEntity, pEntityKey); }//读取数据
public:
    int SetDataObject(LPCTSTR pServer, LPCTSTR pUrl) { return GetDwTable()->SetDataObject_(pServer, pUrl); }//设置模板对象
    int SetDataObject(LPCTSTR pUrl) { return GetDwTable()->SetDataObject_(pUrl); }//设置模板对象
 
    int SetDataObject(KXMLDOMElement  pElement) { return GetDwTable()->SetDataObject_(pElement); }//设置模板对象
    int SetDataObject(KXMLDOMDocument  pDoc) { return GetDwTable()->SetDataObject_(pDoc); }
public:
    int ImportFile() { return GetDwTable()->ImportFile_(); } //转入数据
    int ImportFile(LPCTSTR pStrFile, LPCTSTR pType = NULL, bool Header = false) { return GetDwTable()->ImportFile_(pStrFile, pType, Header); } //转入数据
    int ImportString(LPCTSTR pStr, LPCTSTR pType = NULL, bool Header = false) { return GetDwTable()->ImportString_(pStr, pType, Header); } //转入文本数据
public:
    int SetValues(LPCTSTR pColName, LPCTSTR pExpr) { return GetDwTable()->SetValues_(pColName, pExpr); } //批量设置值
    int AddCalcColumn(LPCTSTR pColName, LPCTSTR pExpr) { return GetDwTable()->AddCalcColumn_(pColName, pExpr); }//设置关联计算列
    int ClearCalcColumn(LPCTSTR pColName = NULL) { return GetDwTable()->ClearCalcColumn_(pColName); }//清除关联计算列
public:
    int GetNextModifyRow(int nStart) { return GetDwTable()->GetNextModifyRow_(nStart); } //得到下一修改行
public:
    int Modify(LPCTSTR pStr) { return GetDwTable()->Modify_(pStr); } //语法修改
    int Evaluate(int nRow, LPCTSTR pExpr) { return GetDwTable()->Evaluate_(nRow, pExpr); } //评估表达式
public:
    int SetAutoFilter(bool bAutoFilter) { return GetDwTable()->SetAutoFilter_(bAutoFilter); } //设置自动过滤
    int SetFilter(LPCTSTR pStrFilter) { return GetDwTable()->SetFilter_(pStrFilter); } //设置过滤条件
    int Filter() { return GetDwTable()->Filter_(); } //过滤
    int SetSort(LPCTSTR pStrSort) { return GetDwTable()->SetSort_(pStrSort); } //设置排序参数
    int Sort() { return GetDwTable()->Sort_(); } //排序
    int Find(LPCTSTR pCondition = NULL) { return GetDwTable()->Find_(pCondition); } //查找
    int FindNext() { return GetDwTable()->FindNext_(); } //查找
public:
    int GetFirstVisibleRow() { return GetDwTable()->GetFirstVisibleRow_(); } //得到当前显示的第一行
    int Expand(bool bExpand) { return GetDwTable()->Expand_(bExpand); }//收缩或展开数据视图
public:
    int Print(LPCTSTR pXmlArg = NULL) { return GetDwTable()->Print_(pXmlArg); } //打印
    int PrintPreview(LPCTSTR pXmlArg = NULL) { return GetDwTable()->PrintPreview_(pXmlArg); } //打印预览
public:
    int SaveAs(LPCTSTR pXmlArg = NULL) { return GetDwTable()->SaveAs_(pXmlArg); } //另存为
    int SaveAsEx() { return GetDwTable()->SaveAsEx_(); } //整体另存为
    int SaveAsEx(LPCTSTR pStrFile) { return GetDwTable()->SaveAsEx_(pStrFile); } //整体另存为
public:
    LPTSTR GetColumnProps(LPCTSTR pColName) { return GetDwTable()->GetColumnProps_(pColName); } //得到列整体XML属性
    int SetColumnProps(LPCTSTR pColName, LPCTSTR pXmlProp) { return GetDwTable()->SetColumnProps_(pColName, pXmlProp); } //设置列整体XML属性
    LPTSTR GetColumnProp(LPCTSTR pColName, LPCTSTR pItem) { return GetDwTable()->GetColumnProp_(pColName, pItem); } //得到列属性
    int SetColumnProp(LPCTSTR pColName, LPCTSTR pItem, LPCTSTR pProp) { return GetDwTable()->SetColumnProp_(pColName, pItem, pProp); }//设置列属性
 
    LPTSTR GetColumnProps(int nCol) { return GetDwTable()->GetColumnProps_(nCol); } //得到列整体XML属性
    int SetColumnProps(int nCol, LPCTSTR pXmlProp) { return GetDwTable()->SetColumnProps_(nCol, pXmlProp); } //设置列整体XML属性
    LPTSTR GetColumnProp(int nCol, LPCTSTR pItem) { return GetDwTable()->GetColumnProp_(nCol, pItem); } //得到列属性
    int SetColumnProp(int nCol, LPCTSTR pItem, LPCTSTR pProp) { return GetDwTable()->SetColumnProp_(nCol, pItem, pProp); }//设置列属性
public:
    int DataBI(LPCTSTR pSchema = NULL) { return GetDwTable()->DataBI_(pSchema); }//数据BI分析
public:
    int chart(LPCTSTR pXmlArg = NULL) { return GetDwTable()->chart_(pXmlArg); }//图形
 
    //send event message
    int event_ItemFocusChanged(int nRow, int nCol) { return GetDwTable()->event_ItemFocusChanged_(nRow, nCol); }
    int event_RowFocusChanged(int nRow, int nOldRow) { return GetDwTable()->event_RowFocusChanged_(nRow, nOldRow); }
    int event_GetFocus() { return GetDwTable()->event_GetFocus_(); }
    int event_LoseFocus() { return GetDwTable()->event_LoseFocus_(); }
    int event_ItemChanged(int nRow, int nCol, LPCTSTR pData) { return GetDwTable()->event_ItemChanged_(nRow, nCol, pData); }
    int event_ItemChanging(int nRow, int nCol, LPCTSTR pData) { return GetDwTable()->event_ItemChanging_(nRow, nCol, pData); }
 
 
    //follow function for cell table
public:
    int InsertRow(int nGroup, int nRow) { return GetDwTable()->InsertRow_(nGroup, nRow); } //插入组行
    int DeleteRow(int nGroup, int nRow) { return GetDwTable()->DeleteRow_(nGroup, nRow); } //删除组行
    int InsertRows(int nGroup, int nRow, int nAmt) { return GetDwTable()->InsertRows_(nGroup, nRow, nAmt); } //插入组多行
    int DeleteRows(int nGroup, int nRow, int nAmt) { return GetDwTable()->DeleteRows_(nGroup, nRow, nAmt); }//删除组多行
public:
    int GetGroupStartRow(int nGroup) { return GetDwTable()->GetGroupStartRow_(nGroup); } //得到指定组的开始行
    int GetGroupRowCount(int nGroup) { return GetDwTable()->GetGroupRowCount_(nGroup); } //得到指定组的结束行
    int InsertGroupRow(int nGroup, int nRow) { return GetDwTable()->InsertGroupRow_(nGroup, nRow); } //插入组行
public:
    int GetMaxDeep() { return GetDwTable()->GetMaxDeep_(); } //插入数据视图的最大深度
    int GetLevel() { return GetDwTable()->GetLevel_(); } //得到数据视图的级号
    LPCTSTR GetDwXPath() { return GetDwTable()->GetDwXPath_(); } //得到数据视图的XPATH
public:
    xdwtable GetParent() { return GetDwTable()->GetParent_(); } //得到父数据试图
public:
    int GetChildCount() { return GetDwTable()->GetChildCount_(); } //得到子数据视图数
    kdwtable* GetChild(int nIndex) { return (kdwtable*)GetDwTable()->GetChild_(nIndex); } //得到指定序号的子数据视图
public:
    LPCTSTR GetDwName() { return GetDwTable()->GetDwName_(); } //得到数据视图的名称
    kdwtable* FindDwTable(LPCTSTR pStrName, kdwtable* pParent = NULL) { return (kdwtable*)GetDwTable()->FindDwTable_(pStrName, (Hxsoft::XFrame::IDwView*)pParent); } //查找数据试图
    kdwtable* GetCurTable(int& nRow, int& nCol) { return (kdwtable*)GetDwTable()->GetCurTable_(nRow, nCol); }//得到当前数据视图,并返回行列
    kdwtable* GetCurTable() { return (kdwtable*)GetDwTable()->GetCurTable_(); }//得到当前数据视图
 
public:
    int SetRowSelectorWidth(int nWidth)
    {
        return GetDwTable()->SetRowSelectorWidth(nWidth);
    }
    int ResetRowSelector()
    {
        return GetDwTable()->ResetRowSelector();
    }
    int GetRowSelectorWidth()
    {
        return GetDwTable()->GetRowSelectorWidth();
    }
    int GetRowSelectorDefaultWidth()
    {
        return GetDwTable()->GetRowSelectorDefaultWidth();
    }
 
    int SetColHeaderHeight(int nHeight)
    {
        return GetDwTable()->SetColHeaderHeight(nHeight);
    }
    int GetColHeaderDefaultHeight()
    {
        return GetDwTable()->GetColHeaderDefaultHeight();
    }
    int ResetColHeaderHeight()
    {
        return GetDwTable()->ResetColHeaderHeight();
    }
    int GetColHeaderHeight()
    {
        return GetDwTable()->GetColHeaderHeight();
    }
public:
    LPTSTR GetHtml()
    {
        return GetDwTable()->GetHtml();
    }
public:
    int SetScrollState(bool both)
    {
        return GetDwTable()->SetScrollState(both);
    }
    int SetHScrollState(bool bShow)
    {
        return GetDwTable()->SetHScrollState(bShow);
    }
    int SetVScrollState(bool bShow)
    {
        return GetDwTable()->SetVScrollState(bShow);
    }
 
public:
    COLORREF    GetDirectColor()
    {
        return GetDwTable()->GetDirectColor();
    }
    void        SetDirectColor(COLORREF cr)
    {
        return GetDwTable()->SetDirectColor(cr);
    }
    COLORREF    GetAdvanceColor()
    {
        return GetDwTable()->GetAdvanceColor();
    }
    void        SetAdvanceColor(COLORREF cr)
    {
        return GetDwTable()->SetAdvanceColor(cr);
    }
public:
    LPTSTR        GetNoteString(int nRow, int nCol)
    {
        return GetDwTable()->GetNoteString(nRow, nCol);
    }
    LPTSTR        GetOriginString(int nRow, int nCol)
    {
        return GetDwTable()->GetOriginString(nRow, nCol);
    }
    LPTSTR        GetAdvanceString(int nRow, int nCol)
    {
        return GetDwTable()->GetAdvanceString(nRow, nCol);
    }
 
    void        SetNoteString(int nRow, int nCol, LPTSTR pStr)
    {
        return GetDwTable()->SetNoteString(nRow, nCol, pStr);
    }
    void        SetOriginString(int nRow, int nCol, LPTSTR pStr)
    {
        return GetDwTable()->SetOriginString(nRow, nCol, pStr);
    }
    void        SetAdvanceString(int nRow, int nCol, LPTSTR pStr)
    {
        return GetDwTable()->SetAdvanceString(nRow, nCol, pStr);
    }
 
    void        ClearNoteString(int nRow, int nCol)
    {
        return GetDwTable()->ClearNoteString(nRow, nCol);
    }
    void        ClearOriginString(int nRow, int nCol)
    {
        return GetDwTable()->ClearOriginString(nRow,nCol);
    }
    void        ClearAdvanceString(int nRow, int nCol)
    {
        return GetDwTable()->ClearAdvanceString( nRow, nCol);
    }
public:
    LPCTSTR GetGuid(int nRow)
    {
        return GetDwTable()->GetGuid(nRow);
    }
public:
    bool ItemChangeTo(int nRow, int nColumn, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->ItemChangeTo(nRow, nColumn, lptStr, dwBuffer);
    }
    bool ItemChangeTo(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->ItemChangeTo(nRow, ColumnName, lptStr, dwBuffer);
    }
 
public:
    LPCTSTR GetItemDisplayString(int nRow, int nColumn, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->GetItemDisplayString(nRow, nColumn, dwBuffer);
    }
    LPCTSTR GetItemDisplayString(int nRow, LPCTSTR ColumnName, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->GetItemDisplayString(nRow, ColumnName, dwBuffer);
    }
    bool SetItemDisplayString(int nRow, int nColumn, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->SetItemDisplayString(nRow, nColumn, lptStr, dwBuffer);
    }
    bool SetItemDisplayString(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->SetItemDisplayString(nRow, ColumnName, lptStr, dwBuffer);
    }
 
    LPCTSTR GetItemTipString(int nRow, int nColumn, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->GetItemTipString(nRow, nColumn, dwBuffer);
    }
    LPCTSTR GetItemTipString(int nRow, LPCTSTR ColumnName, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->GetItemTipString(nRow, ColumnName, dwBuffer);
    }
    bool SetItemTipString(int nRow, int nColumn, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->SetItemTipString(nRow, nColumn, lptStr, dwBuffer);
    }
    bool SetItemTipString(int nRow, LPCTSTR ColumnName, LPCTSTR lptStr, kdwtable::DWBuffer dwBuffer = kdwtable::dbuf_normal)
    {
        return GetDwTable()->SetItemTipString(nRow, ColumnName, lptStr, dwBuffer);
    }
public:
    int AcceptText()
    {
        return GetDwTable()->AcceptText();
    }
    int getNullCell(POINT& p)
    {
        return GetDwTable()->getNullCell(p);
    }
    int ExpandRow()
    {
        return GetDwTable()->ExpandRow();
    }
    int ExpandRow(int sRow, int eRow)
    {
        return GetDwTable()->ExpandRow(sRow, eRow);
    }
    int ExpandCellRow(int sRow, int eRow)
    {
        return GetDwTable()->ExpandCellRow(sRow, eRow);
    }
    int ExpandMarginRow(int sRow, int eRow)
    {
        return GetDwTable()->ExpandMarginRow(sRow, eRow);
    }
    int GetCellRowFromRowColumn(int sRow, int sCol)//得到行列
    {
        return GetDwTable()->GetCellRowFromRowColumn(sRow, sCol);
    }
    int SetSelectionBorder(int Flag)
    {
        return GetDwTable()->SetSelectionBorder(Flag);
    }
    int SetItemText(int row, int col, LPTSTR name)
    {
        return GetDwTable()->SetItemText(row, col, name);
    }
public:
    void SetEditUpperMode(bool upper)
    {
        return GetDwTable()->SetEditUpperMode(upper);
    }
    bool GetEditUpperMode()
    {
        return GetDwTable()->GetEditUpperMode();
    }
public:
    int SetRowSort(LPTSTR colName, bool colOrder = true)
    {
        return GetDwTable()->SetRowSort(colName, colOrder);
    }
 
public:
    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));
    }
 
    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 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;
    }
};