首页 >> 读书频道 >> 电脑 >> TRvCustomConnection组件介绍
 
· RAVE中TRvSyst
· 如何显示中文化的打印预览
· Rave5之Memo控件
· rave将页面设置为横向
· RAVE中如何设置纸张大
· 在Rave报表中打印Te
· 保存RAVE报表为PDF
· 使用rave开发报表有两
· rave如何自已做预览窗
· 运行时动态向RAVE报表
· 保存RAVE报表为HTM
· 将程序中Memo组件的内
 
· 红楼梦:120回全本[清
· 常见图像文件格式详解
· 拉封丹寓言
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

TRvCustomConnection组件介绍


查看有无更新版本

关键字:Delphi/Pascal 2006-9-22

 

RAVE中TRvCustomConnection组件介绍TRvCustomConnection组件 描述: 通过数据连接组件的事件,你可以定制数据以何种方式送到你的Rave报表.对于使用TRvCustomConnection的非数据库数据,你会想要通过这些事件得到可以使用的所有数据。对于数据库数据连接组件象TRvDataSetConnection,你仅仅想要覆盖OnValidateRow事件. 注意: TRvCustomConnection组件有一个整型的DataIndex和DataRows属性.他们用于自定义连接器事件,可以和OnFirst, OnNext和OnEOF事件一起使用. DataIndex用作数据指针位置,它以0为首行. DataRows指明数据的行数.例如,如果你为内存数组定义一个自定义数据连接,你仅需要初始化Connection.DataRows属性为内存数组中的元素数量然后让Rave处理OnFirst, OnNext 和 OnEOF事件.在OnGetRow事件中,你将存取Connection.DataIndex属性区确定哪个数据被传回来(记住对于首行DataIndex为0).事件: OnGetCols 这个事件当Rave要检索数据的元数据信息时被调用,在该事件中你可为你的数据中的每个字段(列)调用Connection.WriteField方法。WriteField定义如下: procedure WriteField(Name: string;DataType: TRpDataType;Width: integer;FullName: string;Description: string); Name是该字段的短名称,它只能包含文字和数字字符。DataType是下列所示的数据类型之一:dtString,dtInteger, dtBoolean, dtFloat, dtCurrency, dtBCD, dtDate, dtTime, dtDateTime, dtBlob, dtMemo 或 dtGraphic。Width是和该字段宽度相关的字符。Full name是字段名称的更详细的描述,它可以包括空格和其他 非字母数字字符。如果Full name为空白,那么Name将用作字段的full name。Description是一个完整的字段描述,由于它用memo组件来编辑所以可以包含多行内容。使用 description属性来说明字段如何被使用以及关于字段数据的其他信息。 举例: procedure TDataForm.CustomCXNGetCols(Connection: TRvCustomConnection); begin With Connection do begin WriteField('Index',dtInteger,8,'Index Field','Description 1'); WriteField('Name',dtString,30,'Name Field','Description 2'); WriteField('Amount',dtFloat,20,'Amount Field','Description 3'); end; { with } end; OnOpen 进行数据会话的初始化工作调用该事件。在这个事件中你可以打开数据文件,初始化变量以及为在数据会话结束时引发的OnRestore事件保存当前的数据状态 举例: procedure TDataForm.CustomCXNOpen(Connection: TRvCustomConnection); begin AssignFile(DataFile,'DATAFILE.DAT'); Reset(DataFile,1); end; OnFirst 定位数据指针到首行的时候调用该事件 举例: procedure TDataForm.CustomCXNFirst(Connection: TRvCustomConnection); begin Seek(DataFile,0); BlockRead(DataFile,DataRecord,SizeOf(DataRecord),DataRead); end; OnNext 移动数据指针到下一行的时候被调用 举例: procedure TDataForm.CustomCXNNext(Connection: TRvCustomConnection); begin BlockRead(DataFile,DataRecord,SizeOf(DataRecord),DataRead); end; OnEOF 判断数据指针是否超过文件的结尾处,如果没有行或者在OnNext事件中已经移到最后一行时触发该事件。 举例: procedure TMainForm.CustomCXNEOF(Connection: TRvCustomConnection;var EOF: Boolean); begin EOF := DataRead OnGetRow 检索当前行数据时触发该事件。Rave有好几种方法用来写数据到指定的缓冲区。字段的顺序和类型必须完全匹配在OnGetCols事件中提供的字段的定义。 下面是Connection对象提供的用来写数据到数据缓冲区的函数列表 procedure WriteStrData(FormatData: string;NativeData: string); { dtString } procedure WriteIntData(FormatData: string;NativeData: integer); { dtInteger } procedure WriteBoolData(FormatData: string;NativeData: boolean); { dtBoolean } procedure WriteFloatData(FormatData: string;NativeData: extended); { dtFloat } procedure WriteCurrData(FormatData: string;NativeData: currency); { dtCurrency } procedure WriteBCDData(FormatData: string;NativeData: currency); { dtBCD } procedure WriteDateTimeData(FormatData: string;NativeData: TDateTime); { dtDate, dtTime and dtDateTime } procedure WriteBlobData(var Buffer;Len: longint); { dtBlob, dtMemo anddtGraphic } 有个特别的方法WriteNullData (no parameters),可以用于包含未初始化或null数据的任何字段的调用。FormatData参数常用于为该字段传递预先格式化的字符数据。 NativeData参数用于传递字段的未格式化的或Raw数据,如果特定的格式在Rave报表中定义,那么格式将应用到NativeData。如果没有特定的格式在Rave报表中定义,那么 FormatData将被用来打印。 举例: procedure TDataForm.CustomCXNGetRow(Connection: TRvCustomConnection); begin With Connection do begin WriteIntData('',DataRecord.IntField); WriteStrData('',DataRecord.StrField); WriteFloatData('',DataRecord.FloatField); end; { with } end; OnValidateRow 这个事件用来控制是否你允许当前的行包括在报表中。 举例: procedure TDataForm.CustomCXNValidateRow(Connection: TRvCustomConnection;var ValidRow: Boolean); begin ValidRow := DataRecord.FloatField >= 0.0; end; OnRestore 中止并恢复数据会话到先前状态时触发该事件。在这个事件中你可以关闭数据文件,释放资源以及恢复数据到OnOpen事件触发时的状态 举例: procedure TDataForm.CustomCXNRestore(Connection: TRvCustomConnection); begin CloseFile(DataFile); end;

TRvCustomConnection组件介绍

[ 1 ]
TRvCustomConnection组件介绍 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑