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

    技术2022-05-11  60

    在盛殿骑士的文章 使用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)