📄 spxx.pas
字号:
unit Spxx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, SUIForm, Grids, DBGridEh, StdCtrls, ActnList, ImgList,
SUIButton, DBCtrls, SUIDBCtrls, DB, SUIDlg;
type
TFrmSpxx = class(TForm)
suiForm1: TsuiForm;
grp1: TGroupBox;
DBGridEh1: TDBGridEh;
pnl2: TPanel;
pnl1: TPanel;
actlst1: TActionList;
il1: TImageList;
actAdd: TAction;
actEdit: TAction;
actDel: TAction;
actUndo: TAction;
actSave: TAction;
actExit: TAction;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
suiDBComboBox_Spmc: TsuiDBComboBox;
suiDBComboBox_Ggxh: TsuiDBComboBox;
suiDBComboBox_Spdw: TsuiDBComboBox;
suiMessageDialog1: TsuiMessageDialog;
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure actAddExecute(Sender: TObject);
procedure actEditExecute(Sender: TObject);
procedure actUndoExecute(Sender: TObject);
procedure actSaveExecute(Sender: TObject);
procedure actDelExecute(Sender: TObject);
procedure actExitExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
end;
var
FrmSpxx: TFrmSpxx;
implementation
uses DataModule, PubUnit;
{$R *.dfm}
procedure TFrmSpxx.FormCreate(Sender: TObject);
begin
ChangeInterface(Self,suiForm1);
SetReadOnly(Self, True ,suiForm1.Color);
end;
procedure TFrmSpxx.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0 ;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TFrmSpxx.actAddExecute(Sender: TObject);
begin
SetReadOnly(Self, False , clWhite);
DataModule1.tbl_Spxxb.Append ;
suiDBComboBox_Spmc.SetFocus ;
end;
procedure TFrmSpxx.actEditExecute(Sender: TObject);
begin
SetReadOnly(Self, False , clWhite);
DataModule1.tbl_Spxxb.Edit ;
suiDBComboBox_Spmc.SetFocus ;
end;
procedure TFrmSpxx.actUndoExecute(Sender: TObject);
begin
DataModule1.tbl_Spxxb.Cancel ;
SetReadOnly(Self, True, suiForm1.Color);
end;
procedure TFrmSpxx.actSaveExecute(Sender: TObject);
begin
with DataModule1 do
begin
tbl_Spxxb.Next ;
if tbl_Spxxb.UpdatesPending then
begin
try
db1.StartTransaction ;
tbl_Spxxb.ApplyUpdates;
tbl_Spxxb.CommitUpdates;
db1.Commit ;
SetReadOnly(Self, True, suiForm1.Color);
except
on E : Exception do
begin
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 1;
Button1Caption := '确定';
IconType := suiStop ;
Text := '数据错误无法保存'+Chr(10)+Chr(13)+E.Message ;
ShowModal ;
end;
tbl_Spxxb.CancelUpdates ;
db1.Rollback ;
end;
end;
end;
end;
end;
procedure TFrmSpxx.actDelExecute(Sender: TObject);
var Str : string;
begin
Str := DataModule1.tbl_Spxxb.fieldByName('商品名称').AsString ;
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 2;
Button1Caption := '是';
Button2Caption := '否';
IconType := suiHelp ;
Text := '删除['+Str+']产品信息将影响到所有的合同记录!是否删除?';
if ShowModal = mrCancel then Exit ;
end;
DataModule1.tbl_Spxxb.Delete ;
SetReadOnly(Self, True, suiForm1.Color);
end;
procedure TFrmSpxx.actExitExecute(Sender: TObject);
begin
Close ;
end;
procedure TFrmSpxx.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
with DataModule1 do
begin
tbl_Spxxb.Next ;
if DataModule1.tbl_Spxxb.UpdatesPending then
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 2;
Button1Caption := '是';
Button2Caption := '否';
IconType := suiHelp ;
Text := '是否保存所编辑的数据?';
if ShowModal = mrOk then actSave.Execute else tbl_Spxxb.CancelUpdates ;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -