📄 baseetype.pas
字号:
unit BaseEType;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseInfoBase, Grids, DBGrids, DB, ADODB, ActnList, ComCtrls,
ToolWin, StdCtrls, DBCtrls, Mask, ExtCtrls, wwDialog, wwidlg;
type
TfrmBaseEType = class(TfrmBaseInfoBase)
DBGrid1: TDBGrid;
Splitter1: TSplitter;
Panel1: TPanel;
QBaseInfofNotes: TWideStringField;
QBaseInfofTypeName: TWideStringField;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBMemo1: TDBMemo;
QBaseInfofID: TAutoIncField;
QBaseInfofFlag: TIntegerField;
procedure QBaseInfoBeforePost(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure dsBaseInfoStateChange(Sender: TObject);
procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
procedure QBaseInfoAfterInsert(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmBaseEType : TfrmBaseEType;
implementation
{$R *.dfm}
procedure TfrmBaseEType.QBaseInfoBeforePost(DataSet: TDataSet);
begin
inherited;
if QBaseInfo.FieldbyName('fName').asString = '' then
begin
showmessage('员工类别不能为空,请重新输入!');
abort;
end;
end;
procedure TfrmBaseEType.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
frmBaseEType := nil;
end;
procedure TfrmBaseEType.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('fFlag').asInteger = 0);
acCancel.Enabled := acSave.Enabled;
acDelete.Enabled := bCanDelete and (QBaseInfo.FieldbyName('fFlag').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 acSave.Enabled
else if Controls[i] is TDBMemo then
(Controls[i] as TDBMemo).ReadOnly := not acSave.Enabled;
end;
procedure TfrmBaseEType.dsBaseInfoDataChange(Sender: TObject;
Field: TField);
begin
//inherited;
{调用状态变化过程}
dsBaseInfoStateChange(Sender);
end;
procedure TfrmBaseEType.QBaseInfoAfterInsert(DataSet: TDataSet);
begin
inherited;
DBEdit1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -