Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Botão alterar em um DBGRID


Question

Estou desenvolvendo um sistema onde realizo um cadastro Pedido e gravo no banco de dados.
Tenho uma com um dbgrid para que eu posso puxar o numero do pedido(ID_PEDIDO) e no dbgrid ele me apresenta o id do pedido e o nome do cliente.
Quero saber como eu posso selecionar a linha do meu dbgrid e abrir um outro formulário idêntico ao de cadastro só que para edição dos campos... esse novo formulário deve trazer os campos preenchidos já com os dados do banco que foram salvos quando foi efetuado o pedido.

Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

exemplo:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Query1: TQuery;
    DataSource1: TDataSource;
    Query1COD_FORNEC: TFloatField;
    Query1COD_PROD: TStringField;
    Query1PERFIL: TStringField;
    Query1ACABAMENTO: TStringField;
    Query1DESCRICAO: TStringField;
    Query1QUANTIDADE: TFloatField;
    Query1DATA: TDateField;
    Query1VAL_UNIT: TFloatField;
    Query1VAL_TOTAL: TFloatField;
    Query1OBS: TStringField;
    Query1VAL_VENDA: TFloatField;
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
   // TRAZER A INFORMAÇÃO DO DBGRID ( CLIQUE DO MOUSE NA CELULA ) DO FORM1 PARA O FORM2

   Form2.Edit1.Text := Query1COD_PROD.Value;

   Form2.Edit2.Text := Query1DESCRICAO.Value;

   Form2.ShowModal;
end;

end.

 

Quero saber como eu posso selecionar a linha do meu dbgrid e abrir um outro formulário idêntico ao de cadastro só que para edição dos campos...

oBS: Quando voce clica na celula do dbgrid, abre o Form2 e coloca nele a informação dos campos do registro selecionado.

O inverso tambem pode ser feito... voce abre o Form2 ( O Form que voce está usando )  procura a informação que voce quer e depois transfere para o Form1 ( o seu form ) 

no exemplo esta bem claro como fazer.

abraço

Link to post
Share on other sites
  • 0
6 horas atrás, Jhonas disse:

exemplo:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Query1: TQuery;
    DataSource1: TDataSource;
    Query1COD_FORNEC: TFloatField;
    Query1COD_PROD: TStringField;
    Query1PERFIL: TStringField;
    Query1ACABAMENTO: TStringField;
    Query1DESCRICAO: TStringField;
    Query1QUANTIDADE: TFloatField;
    Query1DATA: TDateField;
    Query1VAL_UNIT: TFloatField;
    Query1VAL_TOTAL: TFloatField;
    Query1OBS: TStringField;
    Query1VAL_VENDA: TFloatField;
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
   // TRAZER A INFORMAÇÃO DO DBGRID ( CLIQUE DO MOUSE NA CELULA ) DO FORM1 PARA O FORM2

   Form2.Edit1.Text := Query1COD_PROD.Value;

   Form2.Edit2.Text := Query1DESCRICAO.Value;

   Form2.ShowModal;
end;

end.

 

Quero saber como eu posso selecionar a linha do meu dbgrid e abrir um outro formulário idêntico ao de cadastro só que para edição dos campos...

oBS: Quando voce clica na celula do dbgrid, abre o Form2 e coloca nele a informação dos campos do registro selecionado.

O inverso tambem pode ser feito... voce abre o Form2 ( O Form que voce está usando )  procura a informação que voce quer e depois transfere para o Form1 ( o seu form ) 

no exemplo esta bem claro como fazer.

abraço

Tentei fazer mas dá erro no Form2.ShowModal;

Link to post
Share on other sites
  • 0

Esse  erro acontece quando voce não cria o Form2

basta voce clicar no icone ( New Form ) ele esta do lado esquerdo da Seta ( Run ( F9 ) )  e colocar dentro desse Form 2 Edits

abraço

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148894
    • Total Posts
      644966
×
×
  • Create New...