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

📄 query.pas

📁 客户档案管理-delphi开发
💻 PAS
字号:
unit query;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BusinessSkinForm, bsSkinGrids, bsDBGrids, bsSkinCtrls, DB, ADODB,
  ExtCtrls, Menus, bsSkinMenus, Grids, DBGridEh,
  bsSkinShellCtrls, PrnDbgeh, DBGridEhImpExp, ShellAPI;

type
  TFormQuery = class(TForm)
    bsBusinessSkinForm1: TbsBusinessSkinForm;
    bsSkinPanel1: TbsSkinPanel;
    cdsQuery: TADODataSet;
    dsQuery: TDataSource;
    bsSkinToolBar1: TbsSkinToolBar;
    bsSkinBevel1: TbsSkinBevel;
    bsSkinSpeedButton1: TbsSkinSpeedButton;
    bsSkinSpeedButton2: TbsSkinSpeedButton;
    bsSkinSpeedButton4: TbsSkinSpeedButton;
    bsSkinBevel2: TbsSkinBevel;
    bsSkinSpeedButton6: TbsSkinSpeedButton;
    bsSkinBevel3: TbsSkinBevel;
    bsSkinSpeedButton3: TbsSkinSpeedButton;
    PrintDBGridEh1: TPrintDBGridEh;
    SaveDialog1: TbsSkinSaveDialog;
    bsSkinSpeedButton5: TbsSkinSpeedButton;
    dgMain: TDBGridEh;
    bsSkinStatusBar1: TbsSkinStatusBar;
    bsSkinStatusPanelRecordCount: TbsSkinStatusPanel;
    bsSkinStatusPanelUserName: TbsSkinStatusPanel;
    bsSkinBevel4: TbsSkinBevel;
    bsSkinSpeedButton7: TbsSkinSpeedButton;
    procedure bsSkinSpeedButton6Click(Sender: TObject);
    procedure bsSkinSpeedButton4Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure dgMainTitleBtnClick(Sender: TObject; ACol: Integer;
      Column: TColumnEh);
    procedure bsSkinSpeedButton3Click(Sender: TObject);
    procedure bsSkinSpeedButton5Click(Sender: TObject);
    procedure dgMainDblClick(Sender: TObject);
    procedure cdsQueryAfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    pbSelected : Boolean;
  end;

var
  FormQuery: TFormQuery;

implementation

uses
  dm, login;
  
{$R *.dfm}

procedure TFormQuery.FormShow(Sender: TObject);
begin
  pbSelected := False;
  bsSkinStatusPanelUserName.Caption := dbs.psYWY;
end;

procedure TFormQuery.bsSkinSpeedButton4Click(Sender: TObject);
begin
  pbSelected := True;
  Close;
end;

procedure TFormQuery.dgMainDblClick(Sender: TObject);
begin
  if bsSkinSpeedButton4.Visible then
  begin
    pbSelected := True;
    Close;
  end;
end;

procedure TFormQuery.bsSkinSpeedButton6Click(Sender: TObject);
begin
  Close;
end;

procedure TFormQuery.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if pbSelected then
    ModalResult := mrOk
  else
    ModalResult := mrCancel;
end;

procedure TFormQuery.dgMainTitleBtnClick(Sender: TObject; ACol: Integer;
  Column: TColumnEh);
begin
  // 排序
  with ((Sender as TDBGridEh).DataSource.DataSet as TADODataSet) do
  begin
    if Active then
      if (not FieldByName(Column.FieldName).IsBlob) and
         (not (FieldByName(Column.FieldName).FieldKind = fkCalculated)) then
      begin         
        if Column.Title.SortMarker = smDownEh then
          Sort := Column.FieldName
        else
          Sort := Column.FieldName + ' DESC';
      end;
  end;
end;

procedure TFormQuery.bsSkinSpeedButton3Click(Sender: TObject);
var           // 导出列表
  ExpClass : TDBGridEhExportClass;
  Ext : String;
begin
  if not cdsQuery.Active then Exit;

  SaveDialog1.FileName := self.Caption;

    if SaveDialog1.Execute then
    begin
      case SaveDialog1.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsRTF;  Ext := 'rtf'; end;
        2: begin ExpClass := TDBGridEhExportAsXLS;  Ext := 'xls'; end;
        3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        4: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
        5: begin ExpClass := TDBGridEhExportAsCSV;  Ext := 'csv'; end;
      else
        ExpClass := nil; Ext := '';
      end;
      if ExpClass <> nil then
      begin
        if UpperCase(Copy(SaveDialog1.FileName, Length(SaveDialog1.FileName)-2, 3)) <>
           UpperCase(Ext) then
          SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
        SaveDBGridEhToExportFile(ExpClass, dgMain,
             SaveDialog1.FileName, True);

        ShellExecute(Handle, 'OPEN', PChar(SaveDialog1.FileName), nil, nil, sw_shownormal);
      end;
    end;
end;

procedure TFormQuery.bsSkinSpeedButton5Click(Sender: TObject);
begin
  with PrintDBGridEh1 do
  begin
    Title.Text := self.Caption;
    Preview;
  end;
end;

procedure TFormQuery.cdsQueryAfterScroll(DataSet: TDataSet);
begin
  bsSkinStatusPanelRecordCount.Caption := '当前记录/总记录: ' + IntToStr(DataSet.RecNo) + '/' + IntToStr(DataSet.RecordCount);
end;

end.

⌨️ 快捷键说明

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