?? clbmwh.~pas
字號:
unit clbmwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, ExtCtrls, Grids, DBGridEh, ComCtrls, StdCtrls, Mask,
PrnDbgeh, Menus, StdActns, ActnList, ActnMan,DBGridEhImpExp;
type
Tclbmwhfrm = class(TForm)
Panel1: TPanel;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Label8: TLabel;
DBGridEh1: TDBGridEh;
dblk_cplx: TDBLookupComboBox;
Label2: TLabel;
ActionManager1: TActionManager;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
EditDelete1: TEditDelete;
FilePrintSetup1: TFilePrintSetup;
FontEdit1: TFontEdit;
ColorSelect1: TColorSelect;
PrintDlg1: TPrintDlg;
PopupMenu1: TPopupMenu;
N6: TMenuItem;
PrintSetup1: TMenuItem;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
MYPDBGEh: TPrintDBGridEh;
SaveDialog1: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dblk_cplxCloseUp(Sender: TObject);
procedure PrintSetup1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure MYPDBGEhBeforePrint(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
clbmwhfrm: Tclbmwhfrm;
implementation
uses data, main;
{$R *.dfm}
procedure Tclbmwhfrm.FormCreate(Sender: TObject);
begin
dm.whcclxdmads.Close;
dm.whcllxdmads.Open;
dm.whclbmads.Close;
dm.whclbmads.Open;
end;
procedure Tclbmwhfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if dm.whclbmads.State in [dsinsert,dsedit] then
if MessageDlg('記錄未保存,要保存嗎?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.whclbmads.Post;
end
else
dm.whclbmads.Cancel;
action := cafree;
clbmwhfrm:=nil;
end;
procedure Tclbmwhfrm.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) and (not dm.whclbmads.Modified) then
begin
dblk_cplx.KeyValue:=null;
dm.whclbmads.Filtered:=false;
IF TRIM(EDIT1.Text)<>'' THEN
BEGIN
dm.whclbmads.Filter:='材料編碼 like '+''''+
trim((edit1.Text))+'%'+'''';
dm.whclbmads.Filtered:=true;
END;
end;
end;
procedure Tclbmwhfrm.dblk_cplxCloseUp(Sender: TObject);
begin
edit1.Text:='';
dm.whclbmads.Filtered:=false;
if dblk_cplx.KeyValue<>null then
begin
dm.whclbmads.Filter:='類型ID='+''''+dblk_cplx.KeyValue+'''';
dm.whclbmads.Filtered:=true;
end;
end;
procedure Tclbmwhfrm.PrintSetup1Click(Sender: TObject);
var bt,tj:string;
begin
bt:='材料資料表';
if (ActiveControl is TDBGridEh) then
begin
MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
MYPDBGEh.print;
end;
end;
procedure Tclbmwhfrm.N1Click(Sender: TObject);
var bt,tj:string;
begin
bt:='材料資料表';
if (ActiveControl is TDBGridEh) then
begin
MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
MYPDBGEh.Preview;
end;
end;
procedure Tclbmwhfrm.N4Click(Sender: TObject);
var ExpClass:TDBGridEhExportClass;
Ext:String;
begin
SaveDialog1.FileName := '';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; 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 := TDBGridEhExportAsText; Ext := 'txt'; 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,TDBGridEh(ActiveControl),
SaveDialog1.FileName,true);
end;
end;
end;
procedure Tclbmwhfrm.N8Click(Sender: TObject);
begin
TDBGridEh(ActiveControl).Columns
[TDBGridEh(ActiveControl).SelectedIndex].Visible:=false;
if TDBGridEh(ActiveControl).SelectedIndex<
TDBGridEh(ActiveControl).Columns.Count-1 then
TDBGridEh(ActiveControl).SelectedIndex:=
TDBGridEh(ActiveControl).SelectedIndex+1;
end;
procedure Tclbmwhfrm.N9Click(Sender: TObject);
var i:integer;
begin
for i:=1 to TDBGridEh(ActiveControl).Columns.Count-1 do
begin
begin
TDBGridEh(ActiveControl).Columns[i].Visible:=true;
end;
end;
end;
procedure Tclbmwhfrm.MYPDBGEhBeforePrint(Sender: TObject);
begin
if TDBGridEh(ActiveControl).DataSource.DataSet.RecordCount=0 then
abort;
end;
procedure Tclbmwhfrm.FormShow(Sender: TObject);
begin
DBGridEh1.SetFocus;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -