powerbuilder datawindow activeX 开发Web应用程序问题的想法

在盛殿骑士的文章 使用Web Datawindow ActiveX实现Web页面的打印功能 和他的帖子 [原创文章]使用Web Datawindow ActiveX实现Web页面的打印功能 中谈到了 powerbuilder datawindow activeX 对于实现报表功能的想法,就此我进行了资料收集并以此为引学习了一些新的东西,暂时提出了自己对于应用此项技术的一些做法了想法,希望大家能从中多少获得些许好处。
1.   盛殿骑士说 PB9 ActiveX 过期,我这里是没有问题的。下面是我的声明部分:

 <object id="dw_print" height="510" width="820" codebase="/cabs/psdwc90.cab#9,0,2,7554"
 classid="CLSID:99991503-9999-1000-8000-080009AC61A9" name="dw_print" >
    <param name="DataWindowObject" value="">
    <param name="DbParm" value="">
    <param name="HScrollBar" value="true">
    <param name="HSplitScroll" value="true">
    <param name="LiveScroll" value="true">
    <param name="LogId" value="">
    <param name="LogPass" value="">
    <param name="SourceFileName" value="">
    <param name="SuppressEvents" value="false">
    <param name="VScrollBar" value="true">
 </object>

 
2.   盛殿骑士提出了方法,自己写了一个 rowscopy_A() 来实现对于数据导入问题的处理,其中遇到了 datetime,date time 类型数据的处理问题。于是我展开想法,在 activeX 对象的方法列表中找到了两个方法: importfile importString 。初步测试对于 importfile 没有通过(现在回想可能是参数设置有些问题),而对于 importString 则相对顺利通过了测试。这就避免了·盛殿骑士·方法中对于 datetime,date time 类型数据的处理问题。并且 importString 可以接收的文件格式有三种: Text!,CSV! XML! ,完全能够达到需求!
·盛殿骑士·说“ import 方法不能用”,我想问题可能出在两个地方:
a.      参数使用有问题:
powerbuilder 的帮助中对于 ImportString method (DataWindows) 方法的 Web ActiveX  定义如下:
number dwcontrol.ImportString ( number importtype, string string, number startrow, number endrow, number startcolumn, number endcolumn, number dwstartcolumn )
各参数的意义列位可以细细参详,这里我只给出我成功调用的一个例子:

dwImportString('dw_print',1,str,0,2,0,8,1);
/* 注意:此方法为 javascript 方法,将在下文给出具体内容,其中各参数意义为:
页面中 activeX 的名称( dw_print ),
Text !类型文件( 1 ),
javaScript 变量内容为取出的文件全文变量( str ),
开始行( 0 ),
结束行( 2 ),
开始列( 0 ),
结束列( 8 ),
数据窗口导入行( 1
*/

b.      导入时机有问题:
importString 是不能在设置完 "DataWindowObject" 马上调用的 , 如果这时调用则数据无法导入到一个没有完全 " 设置完格式 " 的数据窗口中 . 我试验出的解决方法有两个 :
⑴使用 javaScript setInterval 方法 , 直到能够描述出数据窗口的语法再 clearInterval ,并执行数据导入 ;
⑵使用 AJAX 技术 , 这个就不多说了 , 因为我还是个门外汉 , 只是临时解决了一下 :(
其实上面两种方法目标只有一个:保证数据在格式完全正常后才开始导入!
下面是⑴中的解决方法:

<script type="text/javascript" >
var int_dw_print;
   dwSetSourceFileName("dw_print","webdwtest.pbd");
   dwSetDataWindowObject("dw_print","d_test");
int_dw_print=setInterval("importTest()",1);
 
function importTest(){
 if (dwDescribe('dw_print','datawindow.Attributes').length>1){
 dwImportString('dw_print',1,str,0,2,0,8,1);
 clearInterval(int_dw_print);
 }
  }
</script>

 
3.   对于 datawindow activeX 的方法与属性,为了方便在 Web 开发时调用,我将它们封装在了一个 dwOp.js 文件 之中。为了方便不知如何列举的朋友使用,并避免其它朋友做二次开发,现在将文件内容附于最后。
4.   上面未实现方法中其实包含着一下设想:封装出其中的 update,retrieve 等方法,完全可以在三层结构中实现类似 C/S 开发中大部分工作,包括数据维护,报表显示等等。
下图为设想图:
不知列位认为这种设想能否实现?
5.   其实最该 874 的就是 Sybase 了,如果能出一个 applet 版本或其它哪怕是 swf 支持的 datawindow 插件,咱们也就不用这么麻烦了。强烈要求 Sybase 向前走出这一步!
其实对于 datawindow activeX 有它的局限,最大的局限就是不能提供跨浏览器支持。但也有它的好处,那就是十分成熟的数据窗口专利技术能快速提高开发速度,很适合于企业应用程序开发。现在正在学习 openlaszlo , 不过这不是一个报表解决方案 , 而是 RIA(Rich Internet Application) 解决方案 , 它并不擅长解决报表问题 . 再有的一个技术是 java 中的 birt, 这是一个专门解决报表问题的东东 , 我还没有研究。
不过我这里即使是使用 IE 也仍有个问题
试用了“如意报表”就可以在 firefox 中通过 ietab 插件切换到 ie 内核时显示报表(实际上它也是用的 ActiveX ,也不能跨浏览器),而对于 datawindow 就不行,不知道是我机器的问题还是写的程序有问题 :-(

dwOp.js 文件内容
/************************************************/
本程序执行 GPL 协议,在使用过程中不得去除修改信息,
以及作者信息,如有扩展修改,需要附修改说明,并可
加附修改者信息 .
作者:任万里( renwanly) 电邮: renwanly#eyou.com
/************************************************/
/************************************************/
以下部分是属性操作
/************************************************/
// 属性 DataWindowObject
function dwSetDataWindowObject(dwName, Value)
{
       dwGetDwById(dwName).DataWindowObject=Value;
}
function dwGetDataWindowObject(dwName)
{
       return dwGetDwById(dwName).DataWindowObject;
}
// 属性 DbParm
function dwSetDbParm(dwName, Value)
{
       dwGetDwById(dwName).DbParm=Value;
}
function dwGetDbParm(dwName)
{
       return dwGetDwById(dwName).DbParm;
}
// 属性 HScrollBar
function dwSetHScrollBar(dwName, Value)
{
       dwGetDwById(dwName).HScrollBar=Value;
}
function dwIsHScrollBar(dwName)
{
       return dwGetDwById(dwName).HScrollBar;
}
// 属性 HSplitScroll
function dwSetHSplitScroll(dwName, Value)
{
       dwGetDwById(dwName).HSplitScroll=Value;
}
function dwIsHSplitScroll(dwName)
{
       return dwGetDwById(dwName).HSplitScroll;
}
// 属性 LiveScroll
function dwSetLiveScroll(dwName, Value)
{
       dwGetDwById(dwName).LiveScroll=Value;
}
function dwIsLiveScroll(dwName)
{
       return dwGetDwById(dwName).LiveScroll;
}
// 属性 LogId
function dwSetLogId(dwName, Value)
{
       dwGetDwById(dwName).LogId=Value;
}
function dwGetLogId(dwName)
{
       return dwGetDwById(dwName).LogId;
}
// 属性 LogPass
function dwSetLogPass(dwName, Value)
{
       dwGetDwById(dwName).LogPass=Value;
}
function dwGetLogPass(dwName)
{
       return dwGetDwById(dwName).LogPass;
}
// 属性 SourceFileName
function dwSetSourceFileName(dwName, Value)
{
       dwGetDwById(dwName).SourceFileName=Value;
}
function dwGetSourceFileName(dwName)
{
       return dwGetDwById(dwName).SourceFileName;
}
// 属性 SuppressEvents
function dwSetSuppressEvents(dwName, Value)
{
       dwGetDwById(dwName).SuppressEvents=Value;
}
function dwIsSuppressEvents(dwName)
{
       return dwGetDwById(dwName).SuppressEvents;
}
// 属性 VScrollBar
function dwSetVScrollBar(dwName, Value)
{
       dwGetDwById(dwName).VScrollBar=Value;
}
function dwIsVScrollBar(dwName)
{
       return dwGetDwById(dwName).VScrollBar;
}
/************************************************/
以下部分是方法操作
/************************************************/
function dwAboutBox(dwName)
{
dwGetDwById(dwName).AboutBox();
}
function dwAcceptText(dwName)
{
 return dwGetDwById(dwName).AcceptText();
}
function dwCanUndo(dwName)
{
 return dwGetDwById(dwName).CanUndo();
}
function dwCategoryName(dwName,GraphName,CategoryNumber)
{
 return dwGetDwById(dwName).CategoryName(GraphName,CategoryNumber);
}
function dwClear(dwName)
{
 return dwGetDwById(dwName).Clear();
}
function dwClearValues(dwName,ColumnNameOrNumber)
{
 return dwGetDwById(dwName).ClearValues(ColumnNameOrNumber);
}
function dwClipboard(dwName,GraphName)
{
 return dwGetDwById(dwName).Clipboard(GraphName);
}
function dwCopy(dwName)
{
 return dwGetDwById(dwName).Copy();
}
function dwCroupCalc(dwName)
{
 return dwGetDwById(dwName).CroupCalc();
}
function dwCreate(dwName,Syntax)
{
 return dwGetDwById(dwName).Create(Syntax);
}
function dwCreateError(dwName)
{
 return dwGetDwById(dwName).CreateError();
}
function dwCrosstabDialog(dwName)
{
 return dwGetDwById(dwName).CrosstabDialog();
}
function dwCut(dwName)
{
 return dwGetDwById(dwName).Cut();
}
function dwDataCount(dwName,GraphName,SeriesName)
{
 return dwGetDwById(dwName).DataCount(GraphName,SeriesName);
}
function dwDBCancel(dwName)
{
 return dwGetDwById(dwName).DBCancel();
}
function dwDeletedCount(dwName)
{
 return dwGetDwById(dwName).DeletedCount();
}
function dwDeleteRow(dwName,RowNumber)
{
 return dwGetDwById(dwName).DeleteRow(RowNumber);
}
function dwDescribe(dwName,PropertyList)
{
 return dwGetDwById(dwName).Describe(PropertyList);
}
function dwFilter(dwName)
{
 return dwGetDwById(dwName).Filter();
}
function dwFilteredcount(dwName)
{
 return dwGetDwById(dwName).Filteredcount();
}
function dwFind(dwName,SearchString,StartRow,EndRow)
{
 return dwGetDwById(dwName).Find(SearchString,StartRow,EndRow);
}
function dwFindCategory(dwName,GraphName,CategoryValue)
{
 return dwGetDwById(dwName).FindCategory(GraphName,CategoryValue);
}
function dwFindGroupChange(dwName,Row,Level)
{
 return dwGetDwById(dwName).FindGroupChange(Row,Level);
}
function dwFindRequired(dwName,dwBuffer,StartRow,StartColumn,UpdateOnly)
{
 return dwGetDwById(dwName).FindRequired(dwBuffer,StartRow,StartColumn,UpdateOnly);
}
function dwFindRequiredColumn(dwName)
{
 return dwGetDwById(dwName).FindRequiredColumn();
}
function dwFindRequiredColumnName(dwName)
{
 return dwGetDwById(dwName).FindRequiredColumnName();
}
function dwFindRequiredRow(dwName)
{
 return dwGetDwById(dwName).FindRequiredRow();
}
function dwFindRequiredRow(dwName)
{
 return dwGetDwById(dwName).FindRequiredRow();
}
function dwFindSeries(dwName,GraphName,SeriesName)
{
 return dwGetDwById(dwName).FindSeries(GraphName,SeriesName);
}
function dwFindSeries(dwName,GraphName,SeriesName)
{
 return dwGetDwById(dwName).FindSeries(GraphName,SeriesName);
}
function dwGetBandAtPointer(dwName)
{
 return dwGetDwById(dwName).GetBandAtPointer();
}
function dwGetBandAtPointer(dwName)
{
 return dwGetDwById(dwName).GetBandAtPointer();
}
function dwGetBorderStyle(dwName,ColumnNameOrNumber)
{
 return dwGetDwById(dwName).GetBorderStyle(ColumnNameOrNumber);
}
function dwGetBorderStyle(dwName,ColumnNameOrNumber)
{
 return dwGetDwById(dwName).GetBorderStyle(ColumnNameOrNumber);
}
function dwGetChanges(dwName)
{
 return dwGetDwById(dwName).GetChanges();
}
function dwGetChanges(dwName)
{
 return dwGetDwById(dwName).GetChanges();
}
function dwGetChangesBlob(dwName)
{
 return dwGetDwById(dwName).GetChangesBlob();
}
function dwGetChangesBlob(dwName)
{
 return dwGetDwById(dwName).GetChangesBlob();
}
function dwGetChild(dwName,Name)
{
 return dwGetDwById(dwName).GetChild(Name);
}
function dwGetChild(dwName,Name)
{
 return dwGetDwById(dwName).GetChild(Name);
}
function dwGetChildObject(dwName)
{
 return dwGetDwById(dwName).GetChildObject();
}
function dwGetChildObject(dwName)
{
 return dwGetDwById(dwName).GetChildObject();
}
function dwGetClickedColumn(dwName)
{
 return dwGetDwById(dwName).GetClickedColumn();
}
function dwGetClickedColumn(dwName)
{
 return dwGetDwById(dwName).GetClickedColumn();
}
function dwGetClickedRow(dwName)
{
 return dwGetDwById(dwName).GetClickedRow();
}
function dwGetClickedRow(dwName)
{
 return dwGetDwById(dwName).GetClickedRow();
}
function dwGetColumn(dwName)
{
 return dwGetDwById(dwName).GetColumn();
}
function dwGetColumn(dwName)
{
 return dwGetDwById(dwName).GetColumn();
}
function dwGetColumnName(dwName)
{
 return dwGetDwById(dwName).GetColumnName();
}
function dwGetDataDate(dwName,GraphName,Series,DataPoint,XorY)
{
 return dwGetDwById(dwName).GetDataDate(GraphName,Series,DataPoint,XorY);
}
function dwGetDataDateVariable(dwName)
{
 return dwGetDwById(dwName).GetDataDateVariable();
}
function dwGetDataNumber(dwName,GraphName,Series,DataPoint,XorY)
{
 return dwGetDwById(dwName).GetDataNumber(GraphName,Series,DataPoint,XorY);
}
function dwGetDataNumberVariable(dwName)
{
 return dwGetDwById(dwName).GetDataNumberVariable();
}
function dwGetDataPieExplode(dwName,GraphName,Series,DataPoint)
{
 return dwGetDwById(dwName).GetDataPieExplode(GraphName,Series,DataPoint);
}
function dwGetDataPieExplodePercentage(dwName)
{
 return dwGetDwById(dwName).GetDataPieExplodePercentage();
}
function dwGetDataString(dwName,GraphName,Series,DataPoint,XorY)
{
 return dwGetDwById(dwName).GetDataString(GraphName,Series,DataPoint,XorY);
}
function dwGetDataStringVariable(dwName)
{
 return dwGetDwById(dwName).GetDataStringVariable();
}
function dwGetDataStyleColor(dwName,GraphName,Series,DataPoint,ColorType)
{
 return dwGetDwById(dwName).GetDataStyleColor(GraphName,Series,DataPoint,ColorType);
}
function dwGetDataStyleColorValue(dwName)
{
 return dwGetDwById(dwName).GetDataStyleColorValue();
}
function dwGetDataStyleFill(dwName,GraphName,Series,DataPoint)
{
 return dwGetDwById(dwName).GetDataStyleFill(GraphName,Series,DataPoint);
}
function dwGetDataStyleFillPattern(dwName)
{
 return dwGetDwById(dwName).GetDataStyleFillPattern();
}
function dwGetDataStyleLine(dwName,GraphName,Series,DataPoint)
{
 return dwGetDwById(dwName).GetDataStyleLine(GraphName,Series,DataPoint);
}
function dwGetDataStyleLineStyle(dwName)
{
 return dwGetDwById(dwName).GetDataStyleLineStyle();
}
function dwGetDataStyleLineWidth(dwName)
{
 return dwGetDwById(dwName).GetDataStyleLineWidth();
}
function dwGetDataStyleSymbol(dwName,GraphName,Series,DataPoint)
{
 return dwGetDwById(dwName).GetDataStyleSymbol(GraphName,Series,DataPoint);
}
function dwGetDataStyleSymbolValue(dwName)
{
 return dwGetDwById(dwName).GetDataStyleSymbolValue();
}
function dwGetDwById(dwName)
{
 return document.getElementById(dwName);
}
function dwGetFormat(dwName,ColumnNameOrNumber)
{
 return dwGetDwById(dwName).GetFormat(ColumnNameOrNumber);
}
function dwGetFullState(dwName)
{
 return dwGetDwById(dwName).GetFullState();
}
function dwGetFullStateBlob(dwName)
{
 return dwGetDwById(dwName).GetFullStateBlob();
}
function dwGetItemDate(dwName,RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue)
{
 return dwGetDwById(dwName).GetItemDate(RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue);
}
function dwGetItemNumber(dwName,RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue)
{
 return dwGetDwById(dwName).GetItemNumber(RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue);
}
function dwGetItemStatus(dwName,Row,ColumnNameOrNumber,dwBuffer)
{
 return dwGetDwById(dwName).GetItemStatus(Row,ColumnNameOrNumber,dwBuffer);
}
function dwGetItemString(dwName,RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue)
{
 return dwGetDwById(dwName).GetItemString(RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue);
}
function dwGetNextModified(dwName,Row,dwBuffer)
{
 return dwGetDwById(dwName).GetNextModified(Row,dwBuffer);
}
function dwGetObjectAtPointer(dwName)
{
 return dwGetDwById(dwName).GetObjectAtPointer();
}
function dwGetRow(dwName)
{
 return dwGetDwById(dwName).GetRow();
}
function dwGetRowFromRowId(dwName,rowid,dwBuffer)
{
 return dwGetDwById(dwName).GetRowFromRowId(rowid,dwBuffer);
}
function dwGetRowIdFromRow(dwName,Row,dwBuffer)
{
 return dwGetDwById(dwName).GetRowIdFromRow(Row,dwBuffer);
}
function dwGetSelectedRow(dwName,StartRow)
{
 return dwGetDwById(dwName).GetSelectedRow(StartRow);
}
function dwGetSeriesStyleColor(dwName,GraphName,Series,ColorType)
{
 return dwGetDwById(dwName).GetSeriesStyleColor(GraphName,Series,ColorType);
}
function dwGetSeriesStyleColorValue(dwName)
{
 return dwGetDwById(dwName).GetSeriesStyleColorValue();
}
function dwGetSeriesStyleFill(dwName,GraphName,Series)
{
 return dwGetDwById(dwName).GetSeriesStyleFill(GraphName,Series);
}
function dwGetSeriesStyleFillPattern(dwName)
{
 return dwGetDwById(dwName).GetSeriesStyleFillPattern();
}
function dwGetSeriesStyleLine(dwName,GraphName,Series)
{
 return dwGetDwById(dwName).GetSeriesStyleLine(GraphName,Series);
}
function dwGetSeriesStyleLineStyle(dwName)
{
 return dwGetDwById(dwName).GetSeriesStyleLineStyle();
}
function dwGetSeriesStyleLineWidth(dwName)
{
 return dwGetDwById(dwName).GetSeriesStyleLineWidth();
}
function dwGetSeriesStyleOverlay(dwName,GraphName,Series)
{
 return dwGetDwById(dwName).GetSeriesStyleOverlay(GraphName,Series);
}
function dwGetSeriesStyleOverlayValue(dwName)
{
 return dwGetDwById(dwName).GetSeriesStyleOverlayValue();
}
function dwGetSeriesStyleSymbol(dwName,GraphName,Series)
{
 return dwGetDwById(dwName).GetSeriesStyleSymbol(GraphName,Series);
}
function dwGetSeriesStyleSymbolValue(dwName)
{
 return dwGetDwById(dwName).GetSeriesStyleSymbolValue();
}
function dwGetSQLSelect(dwName)
{
 return dwGetDwById(dwName).GetSQLSelect();
}
function dwGetText(dwName)
{
 return dwGetDwById(dwName).GetText();
}
function dwGetValidate(dwName,ColumnNameOrNumber)
{
 return dwGetDwById(dwName).GetValidate(ColumnNameOrNumber);
}
function dwGetValue(dwName,ColumnNameOrNumber,Index)
{
 return dwGetDwById(dwName).GetValue(ColumnNameOrNumber,Index);
}
function dwImportClipboard(dwName,SAVEASTYPE,StartRow,EndRow,StartColumn,EndColumn,DwStartColumn)
{
 return dwGetDwById(dwName).ImportClipboard(SAVEASTYPE,StartRow,EndRow,StartColumn,EndColumn,DwStartColumn);
}
function dwImportFile(dwName,SAVEASTYPE,FileName,StartRow,EndRow,StartColumn,EndColumn,DwStartColumn)
{
 return dwGetDwById(dwName).ImportFile(SAVEASTYPE,FileName,StartRow,EndRow,StartColumn,EndColumn,DwStartColumn);
}
function dwImportString(dwName,SAVEASTYPE,string,StartRow,EndRow,StartColumn,EndColumn,DwStartColumn)
{
 return dwGetDwById(dwName).ImportString(SAVEASTYPE,string,StartRow,EndRow,StartColumn,EndColumn,DwStartColumn);
}
function dwInsertRow(dwName,RowNumber)
{
 return dwGetDwById(dwName).InsertRow(RowNumber);
}
function dwIsSelected(dwName,Row)
{
 return dwGetDwById(dwName).IsSelected(Row);
}
function dwLineCount(dwName)
{
 return dwGetDwById(dwName).LineCount();
}
function dwModifiedCount(dwName)
{
 return dwGetDwById(dwName).ModifiedCount();
}
function dwModify(dwName,ModString)
{
 return dwGetDwById(dwName).Modify(ModString);
}
function dwObjectAtPointer(dwName,GraphName)
{
 return dwGetDwById(dwName).ObjectAtPointer(GraphName);
}
function dwObjectAtPointerDataPoint(dwName)
{
 return dwGetDwById(dwName).ObjectAtPointerDataPoint();
}
function dwObjectAtPointerSeries(dwName)
{
 return dwGetDwById(dwName).ObjectAtPointerSeries();
}
function dwOleactivate(dwName,Row,ColumnNameOrNumber,verb)
{
 return dwGetDwById(dwName).Oleactivate(Row,ColumnNameOrNumber,verb);
}
function dwPaste(dwName)
{
 return dwGetDwById(dwName).Paste();
}
function dwPosition(dwName)
{
 return dwGetDwById(dwName).Position();
}
function dwPrint(dwName,CancelDialog)
{
 return dwGetDwById(dwName).Print(CancelDialog);
}
function dwPrintCancel(dwName)
{
 return dwGetDwById(dwName).PrintCancel();
}
function dwReplaceText(dwName,NewString)
{
 return dwGetDwById(dwName).ReplaceText(NewString);
}
function dwReselectRow(dwName,Row)
{
 return dwGetDwById(dwName).ReselectRow(Row);
}
function dwReset(dwName)
{
 return dwGetDwById(dwName).Reset();
}
function dwResetDataColors(dwName,GraphName,Series,DataPoint)
{
 return dwGetDwById(dwName).ResetDataColors(GraphName,Series,DataPoint);
}
function dwResetTransObject(dwName)
{
 return dwGetDwById(dwName).ResetTransObject();
}
function dwResetUpdate(dwName)
{
 return dwGetDwById(dwName).ResetUpdate();
}
function dwRetrieve(dwName,Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7Arg8,Arg9,Arg10,Arg11,Arg12,Arg13,Arg14,Arg15,Arg16)
{
 return dwGetDwById(dwName).Retrieve(Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7Arg8,Arg9,Arg10,Arg11,Arg12,Arg13,Arg14,Arg15,Arg16);
}
function dwRetrieveEx(dwName,Args)
{
 return dwGetDwById(dwName).RetrieveEx(Args);
}
function dwRowCount(dwName)
{
 return dwGetDwById(dwName).RowCount();
}
function dwRowsCopy(dwName,StartRow,EndRow,CopyBuffer,TargetDW,BeforeRow,TargetBuffer)
{
 return dwGetDwById(dwName).RowsCopy(StartRow,EndRow,CopyBuffer,TargetDW,BeforeRow,TargetBuffer);
}
function dwRowsDiscard(dwName,StartRow,EndRow,dwBuffer)
{
 return dwGetDwById(dwName).RowsDiscard(StartRow,EndRow,dwBuffer);
}
function dwRowsMove(dwName,StartRow,EndRow,MoveBuffer,TargetDW,BeforeRow,TargetBuffer)
{
 return dwGetDwById(dwName).RowsMove(StartRow,EndRow,MoveBuffer,TargetDW,BeforeRow,TargetBuffer);
}
function dwScroll(dwName,ScrollAmount)
{
 return dwGetDwById(dwName).Scroll(ScrollAmount);
}
function dwScrollNextPage(dwName)
{
 return dwGetDwById(dwName).ScrollNextPage();
}
function dwScrollNextRow(dwName)
{
 return dwGetDwById(dwName).ScrollNextRow();
}
function dwScrollPriorPage(dwName)
{
 return dwGetDwById(dwName).ScrollPriorPage();
}
function dwScrollPriorRow(dwName)
{
 return dwGetDwById(dwName).ScrollPriorRow();
}
function dwScrollToRow(dwName,Row)
{
 return dwGetDwById(dwName).ScrollToRow(Row);
}
function dwSelectedLength(dwName)
{
 return dwGetDwById(dwName).SelectedLength();
}
function dwSelectedLine(dwName)
{
 return dwGetDwById(dwName).SelectedLine();
}
function dwSelectedStart(dwName)
{
 return dwGetDwById(dwName).SelectedStart();
}
function dwSelectedText(dwName)
{
 return dwGetDwById(dwName).SelectedText();
}
function dwSelectRow(dwName,Row,SelectDeselect)
{
 return dwGetDwById(dwName).SelectRow(Row,SelectDeselect);
}
function dwSelectText(dwName,Start,End)
{
 return dwGetDwById(dwName).SelectText(Start,End);
}
function dwSeriesCount(dwName,GraphName)
{
 return dwGetDwById(dwName).SeriesCount(GraphName);
}
function dwSeriesName(dwName,GraphName,Series)
{
 return dwGetDwById(dwName).SeriesName(GraphName,Series);
}
function dwSetActionCode(dwName,lActionCode)
{
 return dwGetDwById(dwName).SetActionCode(lActionCode);
}
function dwSetBorderStyle(dwName,ColumnNameOrNumber,BorderStyle)
{
 return dwGetDwById(dwName).SetBorderStyle(ColumnNameOrNumber,BorderStyle);
}
function dwSetChanges(dwName,bstrBlob,ConflictResolution)
{
 return dwGetDwById(dwName).SetChanges(bstrBlob,ConflictResolution);
}
function dwSetColumn(dwName,ColumnNameOrNumber)
{
 return dwGetDwById(dwName).SetColumn(ColumnNameOrNumber);
}
function dwSetDataPieExplode(dwName,GraphName,Series,DataPoint,Percentage)
{
 return dwGetDwById(dwName).SetDataPieExplode(GraphName,Series,DataPoint,Percentage);
}
function dwSetDataStyleColor(dwName,GraphName,Series,DataPoint,ColorType,Color)
{
 return dwGetDwById(dwName).SetDataStyleColor(GraphName,Series,DataPoint,ColorType,Color);
}
function dwSetDataStyleFill(dwName,GraphName,Series,DataPoint,FILLPATTERN)
{
 return dwGetDwById(dwName).SetDataStyleFill(GraphName,Series,DataPoint,FILLPATTERN);
}
function dwSetDataStyleLine(dwName,GraphName,Series,DataPoint,LINESTYLE,LineWidth)
{
 return dwGetDwById(dwName).SetDataStyleLine(GraphName,Series,DataPoint,LINESTYLE,LineWidth);
}
function dwSetDataStyleSymbol(dwName,GraphName,Series,DataPoint,Symbol)
{
 return dwGetDwById(dwName).SetDataStyleSymbol(GraphName,Series,DataPoint,Symbol);
}
function dwSetDetailHeight(dwName,StartRow,EndRow,height)
{
 return dwGetDwById(dwName).SetDetailHeight(StartRow,EndRow,height);
}
function dwSetFilter(dwName,Format)
{
 return dwGetDwById(dwName).SetFilter(Format);
}
function dwSetFormat(dwName,ColumnNameOrNumber,Format)
{
 return dwGetDwById(dwName).SetFormat(ColumnNameOrNumber,Format);
}
function dwSetFullState(dwName,bstrBlob)
{
 return dwGetDwById(dwName).SetFullState(bstrBlob);
}
function dwSetItem(dwName,RowNumber,ColumnNameOrNumber,ColumnValue)
{
 return dwGetDwById(dwName).SetItem(RowNumber,ColumnNameOrNumber,ColumnValue);
}
function dwSetItemStatus(dwName,Row,ColumnNameOrNumber,dwBuffer,Status)
{
 return dwGetDwById(dwName).SetItemStatus(Row,ColumnNameOrNumber,dwBuffer,Status);
}
function dwSetPosition(dwName,ObjectName,Band,BringToFront)
{
 return dwGetDwById(dwName).SetPosition(ObjectName,Band,BringToFront);
}
function dwSetRow(dwName,Row)
{
 return dwGetDwById(dwName).SetRow(Row);
}
function dwSetRwFocusIndicator(dwName,FocusIndicator,XLocation,YLocation)
{
 return dwGetDwById(dwName).SetRwFocusIndicator(FocusIndicator,XLocation,YLocation);
}
function dwSetSeriesStyleColor(dwName,GraphName,Series,ColorType,Color)
{
 return dwGetDwById(dwName).SetSeriesStyleColor(GraphName,Series,ColorType,Color);
}
function dwSetSeriesStyleFill(dwName,GraphName,Series,FILLPATTERN)
{
 return dwGetDwById(dwName).SetSeriesStyleFill(GraphName,Series,FILLPATTERN);
}
function dwSetSeriesStyleLine(dwName,GraphName,Series,LINESTYLE,LineWidth)
{
 return dwGetDwById(dwName).SetSeriesStyleLine(GraphName,Series,LINESTYLE,LineWidth);
}
function dwSetSeriesStyleOverlay(dwName,GraphName,Series,Overlay)
{
 return dwGetDwById(dwName).SetSeriesStyleOverlay(GraphName,Series,Overlay);
}
function dwSetSeriesStyleSymbol(dwName,GraphName,Series,Symbol)
{
 return dwGetDwById(dwName).SetSeriesStyleSymbol(GraphName,Series,Symbol);
}
function dwSetSort(dwName,Format)
{
 return dwGetDwById(dwName).SetSort(Format);
}
function dwSetSQLPreview(dwName,NewSQL)
{
 return dwGetDwById(dwName).SetSQLPreview(NewSQL);
}
function dwSetSQLSelect(dwName,NewSQL)
{
 return dwGetDwById(dwName).SetSQLSelect(NewSQL);
}
function dwSetTabOrder(dwName,ColumnNameOrNumber,TabNumber)
{
 return dwGetDwById(dwName).SetTabOrder(ColumnNameOrNumber,TabNumber);
}
function dwSetText(dwName,Text)
{
 return dwGetDwById(dwName).SetText(Text);
}
function dwSetTransObject(dwName,TransObj)
{
 return dwGetDwById(dwName).SetTransObject(TransObj);
}
function dwSetValidate(dwName,ColumnNameOrNumber,Rule)
{
 return dwGetDwById(dwName).SetValidate(ColumnNameOrNumber,Rule);
}
function dwSetValue(dwName,ColumnNameOrNumber,Index,Value)
{
 return dwGetDwById(dwName).SetValue(ColumnNameOrNumber,Index,Value);
}
function dwShareData(dwName,SecondaryDW)
{
 return dwGetDwById(dwName).ShareData(SecondaryDW);
}
function dwShareDataOff(dwName)
{
 return dwGetDwById(dwName).ShareDataOff();
}
function dwShareDataWithChild(dwName,ChildDW)
{
 return dwGetDwById(dwName).ShareDataWithChild(ChildDW);
}
function dwSort(dwName)
{
 return dwGetDwById(dwName).Sort();
}
function dwTextLine(dwName)
{
 return dwGetDwById(dwName).TextLine();
}
function dwUndo(dwName)
{
 return dwGetDwById(dwName).Undo();
}
function dwUpdate(dwName,Accept,ResetFlag)
{
 return dwGetDwById(dwName).Update(Accept,ResetFlag);
}
/************************************************/
待实现的常用方法:
1.function dwSetItemDate(dwName,RowNumber,ColumnNameOrNumber,ColumnValue)
2.function dwGetItemDateW(dwName,RowNumber,ColumnNameOrNumber,dwBuffer,OriginalValue)
功能:对于时间类型列进行操作
3.function dwUpdateW(dwName,Accept,ResetFlag)
功能:对数据窗口更新 , 并根据执行情况设置自增 ID ,并设置数据状态等
4.function dwRetrieveW(dwName,Args,...)
功能:从中间层获取数据,并设置数据状态等
5.function dwGetDbparmW(dwName)
6.function dwSetDbparmW(dwName,Value)
功能:得到 / 设置与中间层的连接
7. 实现上面大部分方法的 datawindowchild 操作
/************************************************/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值