选择DBGRID中一行数据,单击一个按钮在另一窗口显示详细信息并可修改,该如何实现? 主窗口中有一个DBGRID,一个按钮button1,现在我想实现当选中DBGRID一行时,单击button1可在另一窗口中显示改行详细信息并可修改写回数据库,请问大家该如何实现,谢谢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果用DBEdit,则只要连接主窗体的DataSource就可以了啊,或者在新的窗体重新传入参数进行新的查询 用dbedit很方便的,修改的话在事件处理中加上下面这句:dataset.post();就搞定了~~ 你可以试一下 dbedit 啊只要将datefields 的属性设置成相应的表中的记录就行了,然后直接连接到BUTTON上的事件中去,应该就会自己显示了。不过要是想灵活一点的话,还是试用一下EDIT 吧 顶 seekmydoom(靠灌水混日子) 设新的Form 为 Form1 原来的 Form 为 form2Form1.edit1.text:=Qt1.Fileds[0].asstring;在Form1 的确定按钮事件里写form2.qt1.editForm2.qt1.Fileds[0].asstring:=edit1.text;form2.qt1.post先要USES 一下 ADOConnection1链接到sql的pubs数据库,ADOTable1.Connection := ADOConnection1,ADOTable1.TableName:=publishers,DataSource1.DataSet:=ADOTable1unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, StdCtrls, ADODB, Grids, DBGrids;type TForm1 = class(TForm) ADOConnection1: TADOConnection; DataSource1: TDataSource; DBGrid1: TDBGrid; ADOTable1: TADOTable; Button1: TButton; Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin ADOTable1.Edit ; form2.DBEdit1.DataField := DBGrid1.Columns.Items[0].FieldName ; form2.DBEdit2.DataField := DBGrid1.Columns.Items[1].FieldName ; form2.DBEdit3.DataField := DBGrid1.Columns.Items[2].FieldName ; form2.DBEdit4.DataField := DBGrid1.Columns.Items[3].FieldName ; form2.DBEdit5.DataField := DBGrid1.Columns.Items[4].FieldName ; if form2.ShowModal=mrOK then ADOTable1.Post else ADOTable1.Cancel ;end;end.DBEdit1.DataSource := form1.datasource1unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls;type TForm2 = class(TForm) DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);begin ModalResult := mrOK ;end;end.我做了可以 请问如何动态设置DBEdit的DataSource属性呢? Edit的小问题 有在厦门的朋友吗,进来看看 谁可以给我几个ImageEN的DEMO啊,送100分! 关于vfP的问题! 不知不觉有了一颗星,就散分200庆祝国庆!!! 求救,如何获得Trichedit 的最后一行文本。 请问高手,DELPHI与C#有什么相同与不同之处 我的问题!请大个帮个忙!小妹照片随后奉送! form的转换问题,就是从一个form到另一个form 初学网络编程,请教NMFinger 要在哪里才能找到,谢谢, 怎么实现只有数据库中的一个表改变时 才对另一个表进行操作
dataset.post();
就搞定了~~
只要将datefields 的属性设置成相应的表中的记录就行了,然后直接连接到BUTTON上的事件中去,应该就会自己显示了。
不过要是想灵活一点的话,还是试用一下EDIT 吧
设新的Form 为 Form1 原来的 Form 为 form2Form1.edit1.text:=Qt1.Fileds[0].asstring;在Form1 的确定按钮事件里写
form2.qt1.edit
Form2.qt1.Fileds[0].asstring:=edit1.text;
form2.qt1.post
先要USES 一下
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
Button1: TButton;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
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
ADOTable1.Edit ;
form2.DBEdit1.DataField := DBGrid1.Columns.Items[0].FieldName ;
form2.DBEdit2.DataField := DBGrid1.Columns.Items[1].FieldName ;
form2.DBEdit3.DataField := DBGrid1.Columns.Items[2].FieldName ;
form2.DBEdit4.DataField := DBGrid1.Columns.Items[3].FieldName ;
form2.DBEdit5.DataField := DBGrid1.Columns.Items[4].FieldName ;
if form2.ShowModal=mrOK then
ADOTable1.Post
else
ADOTable1.Cancel ;
end;end.DBEdit1.DataSource := form1.datasource1
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls;type
TForm2 = class(TForm)
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
begin
ModalResult := mrOK ;
end;end.我做了可以