home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / Delphi / Duck Report / _SETUP.1 / DQViewData.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-12-02  |  1.7 KB  |  77 lines

  1. unit DQViewData;
  2.  
  3. interface
  4.  
  5. uses
  6.     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  7.   Dialogs, Grids, DBGrids, Db, DBTables;
  8.  
  9. type
  10.   TFormDQViewData = class(TForm)
  11.     DataSource: TDataSource;
  12.     DBGrid: TDBGrid;
  13.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  14.       Shift: TShiftState);
  15.     procedure FormDestroy(Sender: TObject);
  16.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  17.     procedure FormShow(Sender: TObject);
  18.   private
  19.       bShowField:    Boolean;
  20.   public
  21.       Procedure    ShowField (bVisible: Boolean);
  22.         Procedure    ShowFieldOnly (Field: TField);
  23.  
  24.   end;
  25.  
  26. var
  27.   FormDQViewData: TFormDQViewData;
  28.  
  29. implementation
  30. {Uses DRDesign;}
  31. {$R *.DFM}
  32. Procedure TFormDQViewData.FormDestroy(Sender: TObject);
  33. Begin
  34.     FormDQViewData    := nil;
  35. End;
  36. Procedure TFormDQViewData.FormClose(Sender: TObject;
  37.   var Action: TCloseAction);
  38. Begin
  39.     ShowField (TRUE);
  40.     Action    := caFree;
  41. End;
  42. Procedure TFormDQViewData.FormShow(Sender: TObject);
  43. Begin
  44.     if DataSource.DataSet = nil Then Exit;
  45.     DataSource.DataSet.First;
  46. End;
  47. Procedure TFormDQViewData.FormKeyDown(Sender: TObject; var Key: Word;
  48.   Shift: TShiftState);
  49. Begin
  50.     Case Key of
  51. {      VK_F1:        BBHelpClick (nil);}
  52.       VK_ESCAPE:    Close;
  53.     End;
  54. End;
  55. Procedure TFormDQViewData.ShowField (bVisible: Boolean);
  56. Var
  57.     i:            Integer;
  58. Begin
  59.     if DataSource.DataSet = nil Then Exit;
  60.   With DataSource.DataSet Do
  61.   Begin
  62.       For i := 0 To FieldCount - 1 Do
  63.       Begin
  64.             Fields[i].Visible    := bVisible;
  65.       End;
  66.   End;
  67. End;
  68. Procedure TFormDQViewData.ShowFieldOnly (Field: TField);
  69. Begin
  70.     if DataSource.DataSet = nil Then Exit;
  71.     bShowField    := TRUE;
  72.   ShowField (FALSE);
  73.   Field.Visible    := TRUE;
  74. End;
  75.  
  76. End.
  77.