Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2012, 17:03   #1
ismoil3005
 
Регистрация: 09.04.2012
Сообщений: 6
По умолчанию Работа с db grid

Здравствуйте подскажите пожалуста как мне реализовать следующее:
при нажатии на строку в dbgride открывалась новая форма и там были выведены данные строки.
ismoil3005 вне форума Ответить с цитированием
Старый 09.04.2012, 17:43   #2
RinatV
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 27
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  form2.Show;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  form2.DBEdit1.DataSource:=DataSource1;
  form2.DBEdit2.DataSource:=DataSource1;
  form2.DBEdit3.DataSource:=DataSource1;
  form2.DBEdit1.DataField:='FIRST_NAME';
  form2.DBEdit2.DataField:='LAST_NAME';
  form2.DBEdit3.DataField:='CITY';

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Table1.Active:=False;
  Table1.DatabaseName:='DBDEMOS';
  Table1.TableName:='clients.dbf';
  Table1.Active:=True;
end;

end.
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls;

type
  TForm2 = class(TForm)
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.
Связывание происходит в FormShow основной формы т.к. в FormCreate Form2 еще не создано.

хотя есть путь покрасивей инициализировать переменную из Unit1 ShowForm2:TForm в FormCreate Form2, а все остальное прописывать через инспектор + краткие команды в коде
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ShowForm2:TForm;
implementation

{$R *.dfm}

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  ShowForm2.Show;
end;

end.
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls,Unit1;

type
  TForm2 = class(TForm)
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
  ShowForm2:=self;
end;

end.
Вложения
Тип файла: rar dbgrid.rar (324.5 Кб, 13 просмотров)
RinatV вне форума Ответить с цитированием
Старый 09.04.2012, 21:14   #3
ismoil3005
 
Регистрация: 09.04.2012
Сообщений: 6
По умолчанию

Спасибо за код. Ща попробую и отпишусь.
ismoil3005 вне форума Ответить с цитированием
Старый 09.04.2012, 21:19   #4
ismoil3005
 
Регистрация: 09.04.2012
Сообщений: 6
По умолчанию

Все работает спасибо вам огромное.
ismoil3005 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Grid for TPanels ArtGrek Компоненты Delphi 7 20.02.2011 04:22
Grid на FoxPro 9 Kingdom_Reborn Помощь студентам 1 22.10.2010 09:08
из Grid в Edit stp56 Общие вопросы Delphi 8 18.04.2009 01:53
Grid nimf Общие вопросы Delphi 2 22.04.2008 13:16
Работа с String Grid - помогите написать "Табель рабочего времени" Deicider Помощь студентам 3 29.11.2006 20:59