TDataLink类说明

Posted on 2010-01-04 22:09  墨者工作室  阅读(520)  评论(0编辑  收藏  举报


   属性 (Property) 介绍
    Active: Boolean,当此 DataLink 连结至一个已开启的 DataSource 时会传回 True。当 Active 状态改变时会 触发ActiveChanged方法。
    ActiveRecord: Integer(可读写),用来配置或取得 DataLink 缓冲区中目前所指向的记录代码,代码的范围是 0 .. BufferCount - 1。使用它来配置记录代    码 时必须小心不要超过这个范围,否则可能导致不可预期的错误。
    BufferCount: Integer(可读写),DataLink 拥有一个数据缓冲区。而 BufferCount 属性即用来配置或取得缓冲区大小,缓冲区大小决定了一个dataset同时可以显视的数据记录笔数。对大部分的数据感知元件来说,BufferCount 的值是 1;但对 TDataGrid 来说,BufferCount 代表它的可视列数目。
    DataSet: TDataSet(唯读),传回此 DataLink 所连结的 DataSet。其实就是DataSource.DataSet。
    DataSource: TDataSource(可读写),传回此DataLink所连结的DataSource
    DataSourceFixed: Boolean(可读写),这个属性可用来防止 DataSource 属性被更改。如果此属性设为 True,当我们试着改变 DataSource 属性时会引发一个例外。
    Editing: Boolean(唯读),如果 DataLink 正处於编辑状态则传回 True
    ReadOnly: Boolean(可读写),配置 DataLink 是否为唯读状态。这个属性并不会影响所连结的 DataSet。在唯读状态下这个 DataLink 无法进入编辑状态。
    RecordCount: Integer(唯读),传回DataSet的数据记录数目

 方法 (Method) 介绍
    function Edit: Boolean;让所连结的DataSet进入编辑状态。传回值: 成功传回 True ,失败传回 False
    procedure UpdateRecord;我们不直接调用这个方法,它是提供其它程序来调用的。这个方法只有配置一个旗帜然後调用 UpdateData 方法。

 虚拟方法 ( Virtual Method )
   要让 TDataLink 组件与构件沟通必须改写下列这些方法:
   procedure ActiveChanged,当连结的 DataSource 开启状态改变时会调用此方法。使用 Active 属性可以得知目前是否为开启状态。
   procedure CheckBrowseMode,数据库有任何改变之後都会先调用这个方法。
   procedure DataSetChanged;当下列任一事件发生时都会调用此方法:
    u 移至DataSet的开头
    u 移至DataSet的结尾
    u 在DataSet中插入或新增数据
    u 删除DataSet的数据
    u 取消DataSet的编辑
    u 更新记录
   如果不想改写这个方法只要在其中调用:
    RecordChanged(nil);
    procedure DataSetScrolled(Distance: Integer),每当目前记录变更时会调用此方法。Distance 叁数代表缓冲区欲卷动的行数。(其值范围皆在 -1 .. 1 之间)。使用 ActiveRecord 属性可以取得缓冲区中目前所指向的记录。我们无法强制让 DataLink 的缓冲区卷动。
   procedure FocusControl(Field: TFieldRef),与TField.FocusControl方法相同。
   procedure EditingChanged,当 DataLink 的编辑状态改变时会调用此方法。使用 Editing 属性可以得知DataLink 是否 正处於编辑状态。
   procedure LayoutChanged,当 DataSet 的 Layout 改变时会调用此方法(例如新增一个column)。
   procedure RecordChanged(Field: TField),当下列任一事件发生时都会调用此方法:
      § 目前记录进入编辑状态
      § 目前记录内容更动
   procedure UpdateData,在一笔记录被更新以前会调用此方法。你可以调用 Abort 过程来防止数据库更新。

Copyright © 2024 墨者工作室
Powered by .NET 8.0 on Kubernetes