Delphi的DataSource事件

Delphi的DataSource事件
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); //数据源记录移动触发
begin

end;

procedure TForm1.DataSource1StateChange(Sender: TObject); //时刻监视着数据源的状态
var s:String;
begin
// TDataSetState = (dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey,
// dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead,
// dsInternalCalc, dsOpening);
Case DataSource1.State of
dsInactive: s:=’Inactive’; //数据集被关闭
dsBrowse: s:=’Browse’; //浏览模式
dsEdit: s:=’Edit’; //编辑模式,意味着Edit方法已被调用,而编辑后的数据尚未被提交
dsInsert: s:=’Insert’; //插入模式,即Insert被调用,但变化还没有提交
dsSetKey: s:=’SetKey’; //设置键值模式,意味着SetKey被调用,而GotoKey尚未被调用
dsCalcFields: s:=’CalcFields’; //OnCalcFields事件已发生,对记录值的计算正在进行中
dsFilter: s:=’Filter’; //数据集正在处理一个记录过滤器、查找字段或其他需要用到过滤器的操作
dsNewValue: s:=’NewValue’; //数据集处于NewValue属性被访问的临时状态
dsOldValue: s:=’OldValue’; //数据集处于OldValue属性被访问的临时状态
dsCurValue: s:=’CurValue’; //数据集处于CurValue属性被访问的临时状态
dsBlockRead: s:=’BlockRead’; //数据正被写入缓冲区,此时数据库表中指针的移动并不触发数据感知组件的更新和事件的发生
dsInternalCalc: s:=’InternalCalc’; //一个字段值正在被计算,以供一个有fkInterternalCalc类型的Fieldkind属性的字段使用
dsOpening: s:=’Opening’; //数据集处于正在打开状态但是还没有结束,这种状态发生在数据集被异步打开时
End;
Label1.Caption:=s;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值