刚学Delphi就遇到问题(200分)

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

lyzw2003

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在一个窗体中加一个按钮,其功能是将本窗体的DBGrid中的一个字段加到另一个窗体的
DBGrid的一个字段中。
 
首先要找到第一个窗体的DBGrid中数据源,然后用这个数据源去连接第二个窗体的DBGrid
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls;

type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;

end.

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, Unit1, StdCtrls;

type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to Form1.DBGrid1.Columns.Count - 1 do
begin
DBGrid1.Columns.Add;
DBGrid1.Columns.Title.Caption := Form1.DBGrid1.Columns.Title.Caption;
DBGrid1.Columns.FieldName := Form1.DBGrid1.Columns.FieldName;
end;
end;

end.
 
最好是能将代码写给我,不然我不会[:(]
谢谢了,拜托了
 
你的意思是不是?
把DBGRID中的数据源的值附值给到别一个DBGRID的数据源的值。
这样就USES一下,目标DBGRID的单元,然后,
假如目标窗体的名是FORM
Self.ADOQUERY.FIELDBYNAME('FIELDNAME').ASSTRING:=FORM.ADOQUERY.FIELDBYNAME('').ASSTRING;
 
hzjone我去试试
 
说实话没看懂问题是什么意思
 
Form1代码:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls;

type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;

end.
Form2代码:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, Unit1, StdCtrls;

type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to Form1.DBGrid1.Columns.Count - 1 do
begin
DBGrid1.Columns.Add;
DBGrid1.Columns.Title.Caption := Form1.DBGrid1.Columns.Title.Caption;
DBGrid1.Columns.FieldName := Form1.DBGrid1.Columns.FieldName;
end;
end;

end.
 
非常感谢,已经解决
 
后退
顶部