⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baseetype.pas

📁 产品信息系统!关于产品基础信息的系统!功能强大!
💻 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 + -