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

📄 uexport.pas

📁 非长好的DELPHI办公系统 直接可以用
💻 PAS
字号:
unit uExport;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActnMenus, ToolWin, ActnMan, ActnCtrls, StdActns, ActnList,
  XPStyleActnCtrls, ImgList, ExtCtrls, ComCtrls,jpeg,DB, DBCtrls, Menus,uDM,
  Grids, DBGrids, DBGridEh;

type
  TfrmExport = class(TForm)
    ToolbarImages: TImageList;
    ActionManager1: TActionManager;
    actNew: TAction;
    actEdit: TAction;
    actDelete: TAction;
    actFind: TAction;
    actPrint: TAction;
    ActionToolBar2: TActionToolBar;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    Tree: TTreeView;
    imlSmall: TImageList;
    imlLarge: TImageList;
    actRefresh: TAction;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    actExit: TAction;
    DBGridEh1: TDBGridEh;
    procedure FormCreate(Sender: TObject);
    procedure TreeClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure actEditExecute(Sender: TObject);
    procedure actExitExecute(Sender: TObject);
    procedure actNewExecute(Sender: TObject);
    procedure actRefreshExecute(Sender: TObject);
    procedure actDeleteExecute(Sender: TObject);
    procedure actFindExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FJpg:TJPEGImage;
    procedure AddChildNodes(nodeName:String;SQLStr:string;imlID:integer);
  public

  end;

var
  frmExport: TfrmExport;


implementation

uses  ufrmEdit, ufrmExpEdit;

{$R *.dfm}



procedure TfrmExport.AddChildNodes(nodeName:String;SQLStr:string;imlID:integer);
var
  curID,SubNodeName:string;
  subnode,subnodechild:TTreenode;
begin
    subnode:=tree.Items.AddChild(tree.TopItem,nodeName);
    subnode.ImageIndex:=imlID;
    with dm.adqExport do
    begin
      close;
      sql.Clear;
      sql.Add(SQLStr);
      open;
      first;
      while not Eof do
      begin
        curID:=trim(FieldByName('a').AsString);
        SubNodeName:=curID;
        subnodechild:=tree.items.addchild(subnode,SubNodeName);
        subnodechild.ImageIndex:=2;
        next;
      end;
    end;
end;


procedure TfrmExport.FormCreate(Sender: TObject);
var
  NewColumn: TListColumn;
begin

  actRefreshExecute(nil);

  Fjpg:=TJPEGImage.Create;
  Fjpg.LoadFromFile('bg003.jpg');
end;

procedure TfrmExport.TreeClick(Sender: TObject);
var
  a,b:string;
  I: Integer;
  ListItem: TListItem;
begin
  a:=tree.Selected.Text;
  with dm.adqExport do
  begin
    Filtered:=false;
    if (a<>'全部') then
    begin
      b:=tree.Selected.Parent.Text;
      Filtered:=false;
      if  (b<>'全部') then
      begin
        Filter:=b+'='+#39+a+#39;
        Filtered:=True;
      end;
    end;
  end;
end;

procedure TfrmExport.FormDestroy(Sender: TObject);
begin
  FJpg.free;
end;

procedure TfrmExport.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin

  dm.adqExport.Locate('名称',Item.Caption,[loPartialKey]);

end;

procedure TfrmExport.actEditExecute(Sender: TObject);
var
  EditExpForm:TEditExpForm;
  NeedRefresh:Boolean;
begin
  NeedRefresh:=False;
  EditExpForm :=TEditExpForm.Create(nil);
  try
    DM.adqExport.edit;

    if (EditExpForm.ShowModal=mrOK) then
    begin
      DM.adqExport.post;
      NeedRefresh:=True;
    end
    else
      DM.adqExport.Cancel;
  finally
    EditExpForm.Free;
  end;
  if NeedRefresh then
  begin
    DM.adqExport.Filtered:=false;
    Tree.FullCollapse;
  end;
end;

procedure TfrmExport.actExitExecute(Sender: TObject);
begin
  close;
end;

procedure TfrmExport.actNewExecute(Sender: TObject);
var
  EditExpForm:TEditExpForm;
  NeedRefresh:Boolean;
begin
  NeedRefresh:=True;
  EditExpForm :=TEditExpForm.Create(nil);
  try
    dm.adqExport.Append;
    if (EditExpForm.ShowModal=mrOK) then
    begin
      try
        dm.adqExport.Post;
      except
        on e:exception do
        begin
          if e.Message='Empty row cannot be inserted. Row must have at least one column value set' then
            application.MessageBox('没有输入内容的空记录无效!','提示',MB_ICONWARNING);
          dm.adqExport.Cancel;
          NeedRefresh:=False;
        end;
      end;
    end
    else
    begin
     dm.adqExport.Cancel;
     NeedRefresh:=False;
    end;
  finally
    EditExpForm.Free;
  end;
  if NeedRefresh then
    actRefreshExecute(nil);
end;

procedure TfrmExport.actRefreshExecute(Sender: TObject);
var
  strQry:string;
  RootNode:TTreenode;
begin
  dm.adqExport.Filtered:=false;
  tree.Items.Clear;
  RootNode:= Tree.Items.Add(nil, '全部'); { Add a root node }
  RootNode.ImageIndex:=1;
  DBGridEh1.SumList.Active:=false;
  strQry:='select distinct 类别 as a from exportTable ';
  AddChildNodes('类别',strQry,3);

  strQry:='select distinct 名称 as a from exportTable ';
  AddChildNodes('名称',strQry,4);
  strQry:='select distinct 出库时间 as a from exportTable ';
  AddChildNodes('出库时间',strQry,5);
   with dm.adqExport do
  begin
    close;
    sql.Clear;
    sql.Add('select *  from exportTable order by 名称');
    open;
  end;
  DBGridEh1.SumList.Active:=true;
end;

procedure TfrmExport.actDeleteExecute(Sender: TObject);
var
  str:Pchar;
begin
  str:=Pchar('是否删除记录《'+dm.adqExport.FieldByName('名称').AsString+'》?');
  if (Application.MessageBox(str,'提示',MB_YESNO+MB_ICONQUESTION)=IDYES) then
  begin
    dm.adqExport.Delete;

  end;
end;

procedure TfrmExport.actFindExecute(Sender: TObject);
begin
  //查询
end;

procedure TfrmExport.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  self := nil;
end;

end.

⌨️ 快捷键说明

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