当前位置:主页>仓库管理软件> 列表

数据集传递问题。 找用友财务软件

进销存软件版1楼: form1里有一个浏览按钮,点击一下出现一个Form2,里面的DBGrid显示的是所有厂商记录,我只要双击一下就可以选中并出现在form1的edit里,请问这是怎么实现的?

2楼: 不知道你要的是不是这个效果,这是大致的代码,看看吧!

unit Unit2;

interface

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

type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#27 then
ModalResult:=mrok;
end;

end.
////////////////////////////////////////////////////////////////////
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var frmtmp:tform2;
pt:tpoint;
begin
if key=#13 then

begin
frmtmp:=tform2.Create(nil);

pt.X:=edit1.Left;
pt.y:=edit1.Top+edit1.Height;


pt:=form1.ClientToScreen(pt) ;
frmtmp.top:=pt.y;
frmtmp.left:=pt.X;

frmtmp.ModalResult:=mrnone;
frmtmp.ShowModal;

if frmtmp.ModalResult=mrok then
frmtmp.Free;

end;
end; 如用友财务软件

3楼: 一. Form2需Uses Form1

二. 在DBGrid的OnDblClick事件中加入:
procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
Form1.Edit1.Text :=Query1.FieldValues[''FieldName''];
end;

4楼: form1和form2 用同一个adoquery1
procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
Form1.Edit1.Text :=from1.adoquery1.FieldValues[''FieldName''];
end;

5楼: edit的解决了
DBGrid的又不会了。
我的帐号被删了,弄成新注册的了,明天才能发帖,只好把以前的帖子改改了。

6楼: 接受答案了.