⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_report_base.pas

📁 这是一个用条码录入的数据的进销存(只对成品)---做童装的
💻 PAS
字号:
unit U_Report_Base;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, U_base, Buttons, ExtCtrls, WinSkinData, Grids, DBGridEh, DB,
  ADODB, PrnDbgeh, Menus,DBGridEhImpExp;

type
  TF_Report_Base = class(TF_base)
    Panel2: TPanel;
    btn_insert: TSpeedButton;
    btn_delete: TSpeedButton;
    btn_edit: TSpeedButton;
    btn_cancel: TSpeedButton;
    SpeedButton1: TSpeedButton;
    DBGridEh: TDBGridEh;
    DataSource1: TDataSource;
    Ado_query: TADOQuery;
    PrintDBGridEh: TPrintDBGridEh;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure btn_insertClick(Sender: TObject);
    procedure btn_deleteClick(Sender: TObject);
    procedure PrintDBGridEhBeforePrint(Sender: TObject);
    procedure DBGridEhDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure DBGridEhTitleClick(Column: TColumnEh);
    procedure btn_editClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_Report_Base: TF_Report_Base;

implementation

uses U_DM, U_Function, U_SetColumn;

{$R *.dfm}

procedure TF_Report_Base.SpeedButton1Click(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TF_Report_Base.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
 try
    Dbgrideh.DataSource.DataSet.Active := False;
  except
  end;  
Action:=Cafree;
end;

procedure TF_Report_Base.FormCreate(Sender: TObject);
var i:integer;
begin
  inherited;
  Ado_query.Connection:=ActiveConnect;
  for I:=0 to DBGridEh.Columns.Count-1 do
  Begin
     DBGridEh.Columns[i].Title.TitleButton:=True;
  end;
end;

procedure TF_Report_Base.btn_insertClick(Sender: TObject);
begin
  inherited;
  if not  DBGridEh.DataSource.DataSet.Active then
  begin
   Application.MessageBox('没有可打印的数据,请先查询!','提示信息',Mb_iconInformation+Mb_ok);
   Exit; 
  end;
  if Application.MessageBox('你确认要打印吗?','确认信息',mb_Iconquestion+MB_YESNO)=ID_NO then
  Exit;
PrintDBGridEh.Print;
end;

procedure TF_Report_Base.btn_deleteClick(Sender: TObject);
begin
  inherited;
  if not  DBGridEh.DataSource.DataSet.Active then
  begin
   Application.MessageBox('没有可预览的数据,请先查询!','提示信息',Mb_iconInformation+Mb_ok);
   Exit;
  end;
CurReporttitle:='操作日志报表';
PrintDBGridEh.Preview;
end;

procedure TF_Report_Base.PrintDBGridEhBeforePrint(Sender: TObject);
begin
  inherited;
Printdbgrideh.PageFooter.LeftText.Text:='报表日期:'+Formatdatetime('YYYY-MM-DD HH:MM:SS',now);
Printdbgrideh.PageFooter.RightText.Text:='报表人:'+Username;
Printdbgrideh.PageHeader.CenterText.Text:=Thecompanry.ZH_Companryname+#13;

printdbgrideh.BeforeGridText.Text:=CurReportTitle;


end;

procedure TF_Report_Base.DBGridEhDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
  inherited;
  if gdSelected in state then
    DBGrideh.Canvas.brush.Color := clNavy
  else
  begin
    with DBGrideh do
    begin
      begin
        if DataSource.DataSet.RecNo mod 2 <> 0 then
          Canvas.brush.Color := ClWhite
        else
          Canvas.brush.Color := $00EAEAEA;
      end;
      DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
  end;
end;

procedure TF_Report_Base.DBGridEhTitleClick(Column: TColumnEh);
begin
  inherited;
  if not Dbgrideh.DataSource.DataSet.IsEmpty then
  begin
    if Column.Title.SortMarker = smupEh then
    begin
      try
        Tadoquery(Dbgrideh.DataSource.DataSet).Sort := Column.Field.FieldName;
      except
      end;
    end
    else
    begin
      try
        Tadoquery(Dbgrideh.DataSource.DataSet).Sort := Column.Field.FieldName + ' DESC';
      except
      end;
    end;
  end;
end;

procedure TF_Report_Base.btn_editClick(Sender: TObject);
var ExpClass: TDBGridEhExportClass;
  Ext: string;
  SaveD: TSaveDialog;
begin
inherited;
  if not DBGridEh.datasource.dataset.Active then
  begin
    Application.MessageBox('还没有进行查询操作!','提示信息',MB_ICONinFORMATION+MB_OK);
    Exit;
  end;
  SaveD := TSaveDialog.Create(nil);
  SaveD.Options :=[ofOverwritePrompt,ofHideReadOnly,ofEnableSizing];
  SaveD.Title := '请选择要导出的目录....';
  SaveD.InitialDir := Extractfilepath(application.ExeName);
  SaveD.Filter := 'Text files (*.txt)|*.TXT|Comma separated values (*.csv)|*.CSV|HT' +
    'ML file (*.htm)|*.HTM|Rich Text Format (*.rtf)|*.RTF|Microsoft E' +
    'xcel Workbook (*.xls)|*.XLS';
  SaveD.FileName := 'file1';
  if (ActiveControl is TDBGridEh) then
    if SaveD.Execute then
    begin
      case SaveD.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
        2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
        3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
        5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
      else
        ExpClass := nil; Ext := '';
      end;
      if ExpClass <> nil then
      begin
        if UpperCase(Copy(SaveD.FileName, Length(SaveD.FileName) - 2, 3)) <>
          UpperCase(Ext) then
          SaveD.FileName := SaveD.FileName + '.' + Ext;
        SaveDBGridEhToExportFile(ExpClass, TDBGridEh(ActiveControl), SaveD.FileName, False);
      end;
    end;
  TDBGridEh(ActiveControl).Selection.Clear;
end;

procedure TF_Report_Base.N1Click(Sender: TObject);
var i: integer;
begin
inherited;
  if DBgrideh.Columns.Count > 0 then
  begin
    F_SetColumn := TF_SetColumn.Create(self);
    F_SetColumn.SpinEdit.MaxValue := DBgrideh.Columns.Count;
    F_SetColumn.CbColunm.Clear;
    for i := 0 to DBgrideh.Columns.Count - 1 do
    begin
      if DBgrideh.Columns[i].Visible then
      begin
        F_SetColumn.CbColunm.Items.Add(DBgrideh.Columns[i].Title.Caption);
     // FSetColumn.CbColunm.ItemEnabled[i]:=True;
        F_SetColumn.CbColunm.Checked[i] := True;
      end
      else
      begin
        F_SetColumn.CbColunm.Items.Add(DBgrideh.Columns[i].Title.Caption);
        F_SetColumn.CbColunm.Checked[i] := False;
    //  FSetColumn.CbColunm.ItemEnabled[i]:=False;
      end;
    end;
    F_SetColumn.SpinEdit.Text := inttostr(DBgrideh.FrozenCols);
    F_SetColumn.SetDBGridEh := DBgrideh;
    F_SetColumn.Show;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -