📄 ccbasenames.pas
字号:
unit CcBaseNames;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseInfoBase, DB, ADODB, ActnList, ComCtrls, ToolWin, ExtCtrls,
Grids, DBGrids, StdCtrls, DBCtrls, Mask, wwDialog, wwidlg, DBGridEh;
type
TfrmCcBaseNames = class(TfrmBaseInfoBase)
DBGrid1: TDBGrid;
Splitter1: TSplitter;
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
procedure QBaseInfoBeforePost(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure dsBaseInfoStateChange(Sender: TObject);
procedure QBaseInfoAfterInsert(DataSet: TDataSet);
procedure FormDestroy(Sender: TObject);
procedure acSaveExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
CanEdit,CanDelete,CanSave,CanCancel:Boolean;
end;
var
frmCcBaseNames: TfrmCcBaseNames;
i:Integer;
implementation
{$R *.dfm}
uses Global,DataModule;
procedure TfrmCcBaseNames.QBaseInfoBeforePost(DataSet: TDataSet);
begin
inherited;
if (QBaseInfo.FieldByName('id').AsString='') then
begin
showmessage('序号不能为空,请重新输入!');
abort;
end;
if (QBaseInfo.FieldByName('name').AsString='') then
begin
showmessage('名称不能为空,请重新输入!');
abort;
end;
end;
procedure TfrmCcBaseNames.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
action:=CaFree;
end;
{procedure TfrmBasePType.QBaseInfofCodeValidate(Sender: TField);
begin
inherited;
if not IsUnique('Code',Sender.AsString) then
begin
showmessage('供应商类别编码重复,请重新输入');
abort;
end;
end; }
procedure TfrmCcBaseNames.dsBaseInfoStateChange(Sender: TObject);
var i:integer;
begin
//inherited;
{设置功能按钮的有效性}
acSave.Enabled := QBaseInfo.State in [dsInsert, dsEdit];
acNew.Enabled := bCanNew and not acSave.Enabled;
acModify.Enabled := bCanModify and (not acSave.Enabled) and (QBaseInfo.FieldbyName('id').asInteger = 0);
acCancel.Enabled := acSave.Enabled;
acDelete.Enabled := bCanDelete and (QBaseInfo.FieldbyName('id').asInteger = 0);
acPrint.Enabled := bCanPrint;
acFind.Enabled := not acSave.Enabled;
{设置导航按钮的有效性}
acFirst.Enabled := (not QBaseInfo.Bof) and (not acSave.Enabled);
acLast.Enabled := (not QBaseInfo.Eof) and (not acSave.Enabled);
acPrior.Enabled := (acFirst.Enabled) and (not acSave.Enabled);
acNext.Enabled := (acLast.Enabled) and (not acSave.Enabled);
With Panel2 do
for i:= 0 to ControlCount-1 do
if Controls[i] is TDBEdit then
(Controls[i] as TDBEdit).ReadOnly := Not tbtSave.Enabled;
// else if Controls[i] is TDBMemo then
// (Controls[i] as TDBMemo).ReadOnly := Not acSave.Enabled;
end;
procedure TfrmCcBaseNames.QBaseInfoAfterInsert(DataSet: TDataSet);
begin
inherited;
dbedit1.SetFocus ;
end;
procedure TfrmCcBaseNames.FormDestroy(Sender: TObject);
begin
//inherited;
frmCcBaseNames:=nil;
end;
procedure TfrmCcBaseNames.acSaveExecute(Sender: TObject);
begin
// inherited;
case MessageBox(Handle,'是否保存记录','提示信息',MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON1) of
IDYes:
begin
try
CanSave:=False;
CanCancel:=False;
QBaseInfo.UpdateBatch();
except
ShowMessage('保存出错!');
CanSave:=True;
CanCancel:=True;
QBaseInfo.Edit;
self.tbtModify.Enabled:=False;
end;
end;
IDNo:
begin
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -