在dbgrid中追加记录问题!说简单也简单说难也难大家都过来看看吧!急急急急急急急急急!(50分)

  • 主题发起人 主题发起人 lxw4292
  • 开始时间 开始时间
L

lxw4292

Unregistered / Unconfirmed
GUEST, unregistred user!
在dbgrid中最后一行按下向下光标键它就会自动追加一条记录有没有办法让它不追加呀?
 
有,把数据源的自动编辑功能去掉就可以了
 
下面的一段代码应该符合你的要求
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if TDataSource(Sender).DataSet.Eof then TDataSource(Sender).DataSet.Cancel;
end;
呵呵
 
To: cdj000
我在按下向下向方向键前已经用其它方法向数据库添加了记录并已经有了数据如果用您的方法,这些数据不就全被取消了?因为我的lock Type是ltBatchOptimistic模式所以你的这种方法不行呀!

To:555a
你可以把你的方法说的明确一点吗?因为我是刚刚接触Delphi谢谢!
 
在 DBGrid 的 OnKeyDown 中写:
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_DOWN) then
begin
With (Sender as TDBGrid).DataSource.DataSet do begin
DisableControls ;
Next ;
if EOF then
Key := 0
else
Prior ;
EnableControls ;
end;
end ;
end;
 
谢谢大家问题已经解决用的是kaida的办法
 
后退
顶部