📄 uimport.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 + -