我想判断数据集的状态是否是insert或EDIT,然后是某个按钮的Enable:=Fale;该怎么写? (100分)

  • 主题发起人 主题发起人 有毛病
  • 开始时间 开始时间

有毛病

Unregistered / Unconfirmed
GUEST, unregistred user!
还有,当数据集的当前记录发生改变(即Prior,next等),将触发什么事件,
数据集被修改(无论Insert,Edit,Delete)后触发什么事件?
数据集的状态发生改变又触发什么事件呢?

初学者,请多关照!
 
if table.state in [dsEdit,dsInsert] then
begin
//
end ;
拿button为例:
Button.Enable := false ;
数据集记录指针移动时触发了AfterScorll事件
数据集修改触发了OnChange事件 ;
 
Carson_zzd:
如果只是判断是否是EDIT状态是否写成:
if table.state is dsEdit then
begin
end;

?
 
你也可以加个定时器,间隔一定时间就检查一下。然后:
if table.state in [dsEdit,dsInsert] then
begin
* :=True/false;
end ;
 
加个定时器这种方法不太好吧?
 
判断添加状态
if dataset.state=dsInsert then
begin
end;
判断修改状态
if dataset.state=dsEdit then
begin
end;
 
在你的DataSource的StateChange中写
if(DataSource.dataset <> nil) then
if(datasource.dataset.state in [dsEdit]) then
begin
end;
else if(datasource.dataset.state in [dsInsert])

 
同意 delphi_newuser!
 
不好意思,还有个问题:
dsEDIT是类型?如何转换为字符串?
谢谢!
 
多人接受答案了。
 
后退
顶部