看看代码,问题在哪里??

tongki 2002-08-19 04:03:27
我想当移动记录指针时,EDIT里的内容也跟着改变。(不用DBEDIT)。
如何得到正解?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Grids, DBGrids, ADODB, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ADOTable1MoveComplete(DataSet: TCustomADODataSet;
const Reason: TEventReason; const Error: Error;
var EventStatus: TEventStatus);
procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Next;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOTable1.Prior;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOTable1.open;
ADOTable1.First;
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;

procedure TForm1.ADOTable1MoveComplete(DataSet: TCustomADODataSet;
const Reason: TEventReason; const Error: Error;
var EventStatus: TEventStatus);
begin
// edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
// edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;

procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;

end.

...全文
30 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhzqf1980 2002-08-19
  • 打赏
  • 举报
回复
当然你可以在dbgrid的单击事件中写啊
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
prosectinfo 2002-08-19
  • 打赏
  • 举报
回复
AfterScroll Event 在数据集发生滚动时执行,例如从一条记录移动到另一条记录时,这个事件会自动执行。
你的这段代码 就是用来记录发生变化时,用edit1,edit2显示记录的代码和名称。(如果你用的是TDBedit,数据集滚动时会自动显示,这个事件就用不着了)
tongki 2002-08-19
  • 打赏
  • 举报
回复
我找到了,不过以上的事件是有什么用处?要是有中文的HELP,DELPHI也就有天地了

procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
begin
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;
tongki 2002-08-19
  • 打赏
  • 举报
回复
有一个例子,不过是STRINGGRID的。

The following code displays the number of rows a row was moved in a label.

procedure TForm1.StringGrid1RowMoved(Sender: TObject; FromIndex, ToIndex: Longint);

begin
Label1 := IntToStr(Abs(FromIndex-ToIndex));

end;

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧