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

📄 uimport.pas

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

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
  TfrmImport = class(TForm)
    ToolbarImages: TImageList;
    ActionManager1: TActionManager;
    actNew: TAction;
    actEdit: TAction;
    actDelete: 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 ListView1DblClick(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
  frmImport: TfrmImport;


implementation

uses  ufrmEdit, ufrmImpEdit;

{$R *.dfm}



procedure TfrmImport.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.adqImport 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 TfrmImport.FormCreate(Sender: TObject);
var
  NewColumn: TListColumn;
begin

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

procedure TfrmImport.TreeClick(Sender: TObject);
var
  a,b:string;
  I: Integer;
  ListItem: TListItem;
begin
  a:=tree.Selected.Text;
  with dm.adqImport 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 TfrmImport.FormDestroy(Sender: TObject);
begin
  FJpg.free;
end;

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

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

procedure TfrmImport.actEditExecute(Sender: TObject);
var
  EditImpForm:TEditImpForm;
  NeedRefresh:Boolean;
begin
  NeedRefresh:=False;
  EditImpForm :=TEditImpForm.Create(nil);
  try
    DM.adqImport.edit;

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

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

procedure TfrmImport.actNewExecute(Sender: TObject);
var
  EditImpForm:TEditImpForm;
  NeedRefresh:Boolean;
begin
  NeedRefresh:=True;
  EditImpForm :=TEditImpForm.Create(nil);
  try
    dm.adqImport.Append;
    dm.adqGoods.edit;
    if (EditImpForm.ShowModal=mrOK) then
    begin
      try

        dm.adqImport.Post;
        dm.adqGoods.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.adqImport.Cancel;
          NeedRefresh:=False;
        end;
      end;
    end
    else
    begin
     dm.adqImport.Cancel;
     NeedRefresh:=False;
    end;
  finally
    EditImpForm.Free;
  end;
  if NeedRefresh then
    actRefreshExecute(nil);
end;

procedure TfrmImport.actRefreshExecute(Sender: TObject);
var
  strQry:string;
  RootNode:TTreenode;
begin
  dm.adqImport.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 importTable ';
  AddChildNodes('类别',strQry,3);

  strQry:='select distinct 名称 as a from importTable ';
  AddChildNodes('名称',strQry,4);
  strQry:='select distinct 入库时间 as a from importTable ';
  AddChildNodes('入库时间',strQry,5);

  with dm.adqImport do
  begin
    close;
    sql.Clear;
    sql.Add('select *  from importTable order by 名称');
    open;
  end;
  DBGridEh1.SumList.Active:=true;


end;

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

procedure TfrmImport.ListView1DblClick(Sender: TObject);
begin
  actEditExecute(nil);
end;

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

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

end.

⌨️ 快捷键说明

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