从delphi中的另一个表单刷新DBGrid

从delphi中的另一个表单刷新DBGrid,第1张

概述我刚刚开始学习德尔福,我遇到了一个问题.我将从另一种形式刷新DBGrid.我的代码: Form1中: unit uForm1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids, StdC 我刚刚开始学习德尔福,我遇到了一个问题.我将从另一种形式刷新DBGrID.我的代码:

Form1中:

unit uForm1;interfaceuses  windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,DB,ADODB,GrIDs,DBGrIDs,StdCtrls;type  TForm1 = class(TForm)    btnAdd: Tbutton;    grID: TDBGrID;    ADOquery1: TADOquery;    DataSource1: TDataSource;    procedure btnAdd(Sender: TObject);  private  public       constructor Create(Owner:TComponent); overload;  end;var  form1: TForm1;implementationuses uForm2,uDbOperations;{$R *.dfm}procedure TForm1.btnAddClick(Sender: TObject);var  frm : TForm2;begin  frm := TForm2.Create(form1);  frm.ShowModal;  frm.Free;end;

窗体2:

unit uForm2;procedure TForm2.btnAddClick(Sender: TObject);var  query : string;begin       query := 'Insert into Employees(name) Values('''+txtname.Text+''');';       DbOperations.InsertOrUpdate(query,ADOquery1);        ModalResult := mrCancel;        //And this here I'd refresh grID on form1           end;end.

如何在form2中添加记录后,在form1中刷新dbgrID?我尝试了很多方法,但没有成功.我知道在C#中需要在构造函数中传递引用,但是delphi如何?

解决方法 使用你的模式,我会做这样的事情:

procedure TForm1.btnAddClick(Sender: TObject);var  frm : TForm2;begin  frm := TForm2.Create(form1);  try    if frm.ShowModal = mrOK then    begin      GrID.Datasource.Dataset.Refresh;      // some databases require open/close to refresh      // in this case GrID.Datasource.Dataset.close;      //              GrID.Datasource.Dataset.Open;    end;  finally    frm.Free;  endend;procedure TForm2.btnAddClick(Sender: TObject);var  query : string;begin  query := 'Insert into Employees(name) Values('''+txtname.Text+''');';  DbOperations.InsertOrUpdate(query,ADOquery1);  ModalResult := mrOK;  // let a cancel button on Form2 perform ModalResult = mrCancel    // to avoID unnecessary dataset refreshes..      end;
总结

以上是内存溢出为你收集整理的从delphi中的另一个表单刷新DBGrid全部内容,希望文章能够帮你解决从delphi中的另一个表单刷新DBGrid所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1261300.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存