dbgrid显示的问题?(100分)

  • 主题发起人 主题发起人 zanl
  • 开始时间 开始时间
Z

zanl

Unregistered / Unconfirmed
GUEST, unregistred user!
对一个空的数据库,在DELPHI4中dbgrid总是默认地显示一条并
不存在的记录供用户编辑。但我的程序中要求数据库的关键字段
属性只读,由程序保证其植递增,具有唯一性。这样一来,一旦
数据库删除空后再增加数据,程序无法处理关键字递增运算导致
ERROR。请问各位,如何设置dbgrid才能消除此条并不存在的记
录,而只能通过编程APPEND一条记录显示在dbgrid上?
 
if table1.recordcount=0 then
begin
tabel1.append;
tabel1.fieldvalues['field1']:='1';//给关键字段一个起始值。
tabel1.fieldvalues['field2']:='bb';
.
.
table1.post;
table1.active:=false;
table1.active:=true;
end;
这样做可以吗?
 
数据库空时,把dbgrid的enabled设为false,append之前再变成true;

你还可以不把关贱字段在dbgrid中显示,不让用户访问该字段,这样不就行了,

 
你可以在DataSet的AfterInsert方法中加入一个判断

if ONOFF then //ONOFF为窗体的bool型类变量,初始为False,
//在Append时设为True
begin
ONOFF:=False;
.....
end
else
begin
DataSet.Delete;
end;

 
用以上的方法都可以哦
 
各位的办法都可以实现,但还不是根本的解决办法。看来
要达到象VFP中GRID那样的效果只能是修改DBGRID的原代
码了。
 
多人接受答案了。
 
后退
顶部