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

📄 masterdetail.~pas

📁 一套融入了系统营销管理思想的管理软件产品
💻 ~PAS
字号:
unit MasterDetail;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Single, Menus, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls, StdCtrls,
  Mask, DBCtrls, Variants;

type
  TfmMasterDetail = class(TfmSingle)
    Panel2: TPanel;
    gdDetail: TDBGrid;
    qyDetail: TQuery;
    dsDetail: TDataSource;
    usDetail: TUpdateSQL;
    muPopup: TPopupMenu;
    muDetailAppend: TMenuItem;
    muDetailEdit: TMenuItem;
    muDetailDel: TMenuItem;
    muDetailCancel: TMenuItem;
    N5: TMenuItem;
    muDetailSave: TMenuItem;
    N7: TMenuItem;
    muDetailRefresh: TMenuItem;
    N1: TMenuItem;
    muDetailFirst: TMenuItem;
    muDetailLast: TMenuItem;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure qyDetailBeforeInsert(DataSet: TDataSet);
    procedure qyDetailBeforeEdit(DataSet: TDataSet);
    procedure qyDetailBeforeDelete(DataSet: TDataSet);
    procedure qyDetailAfterScroll(DataSet: TDataSet);
    procedure qyDetailAfterPost(DataSet: TDataSet);
    procedure qyDetailAfterDelete(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure muDetailAppendClick(Sender: TObject);
    procedure muDetailEditClick(Sender: TObject);
    procedure muDetailDelClick(Sender: TObject);
    procedure muDetailSaveClick(Sender: TObject);
    procedure muDetailCancelClick(Sender: TObject);
    procedure muDetailRefreshClick(Sender: TObject);
    procedure muDetailFirstClick(Sender: TObject);
    procedure muDetailLastClick(Sender: TObject);
    procedure dsDetailStateChange(Sender: TObject);
    procedure qyMasterBeforeCancel(DataSet: TDataSet);
    procedure FormActivate(Sender: TObject);
    procedure qyDetailUpdateRecord(DataSet: TDataSet;
      UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
    procedure qyMasterBeforePost(DataSet: TDataSet);
    procedure qyMasterAfterScroll(DataSet: TDataSet);
    procedure qyDetailNewRecord(DataSet: TDataSet);
    procedure qyDetailBeforeOpen(DataSet: TDataSet);
    procedure qyMasterBeforeDelete(DataSet: TDataSet);
    procedure qyMasterAfterDelete(DataSet: TDataSet);
    procedure qyDetailAfterOpen(DataSet: TDataSet);
    procedure qyDetailBeforePost(DataSet: TDataSet);
  private
    { Private declarations }
    FItemFieldName : String;
    procedure SetPopMenu;
    procedure UpdateDetailData;
    procedure SetItemFieldName(AItemFieldName: String);
    function GetReSort: Boolean;
  public
    { Public declarations }
    property ItemFieldName : String write SetItemFieldName;
    property ReSortting : Boolean read GetReSort;
    procedure CalcAmount; virtual;
    procedure SetDescription; override;
    procedure GetPrevValue; virtual;
  end;

var
  fmMasterDetail: TfmMasterDetail;

implementation

uses Main, DataModule, Loading, Procress, PublicFunction, CheckData;

{
bDetailDelete:判断是否具有删除的权限
bDeleteAll:判断目前是否在清全部明细的数据

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -