| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | unit ZJJLFme;interfaceuses  ZJJLDm,  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ExtCtrls, StdCtrls, DBCtrls, Mask, JimLabels, DB, ComCtrls,  ToolWin, ActnList, ZjGridDBA, ZJGrid, dxBar;type  TZJJLFrame = class(TFrame)    labTitle: TJimGradLabel;    alBGL: TActionList;    actnGenerate: TAction;    pnlTop: TPanel;    pnlButton: TPanel;    tobaTop: TToolBar;    tobtnGenerate: TToolButton;    lePreText: TLabeledEdit;    zaZJJL: TZjGridDBA;    pnlZJJL: TPanel;    zgZJJL: TZJGrid;    pnlListTitle: TPanel;    pnlListBar: TPanel;    lblListTitle: TLabel;    pnlZJJLProperty: TPanel;    pnlDataTitle: TPanel;    lblDataTiel: TLabel;    pnlDataBar: TPanel;    dxpmZJJL: TdxBarPopupMenu;    rgType: TRadioGroup;    actnLocateBills: TAction;    procedure actnGenerateExecute(Sender: TObject);    procedure lePreTextExit(Sender: TObject);    procedure zgZJJLMouseDown(Sender: TObject; Button: TMouseButton;      Shift: TShiftState; X, Y: Integer);    procedure dxpmZJJLPopup(Sender: TObject);    procedure actnLocateBillsExecute(Sender: TObject);    procedure actnLocateBillsUpdate(Sender: TObject);  private    FZJJLData: TZJJLData;    FDataReadOnly: Boolean;    procedure SetDataReadOnly(const Value: Boolean);  public    constructor Create(AParent: TFrame; AZJJLData: TZJJLData);    destructor Destroy; override;    procedure ResetFrameLink(AZJJLData: TZJJLData);    property DataReadOnly: Boolean read FDataReadOnly write SetDataReadOnly;  end;implementationuses  MergeTextFrm, PhaseData, MainFrm, ProjectData, UtilMethods;{$R *.dfm}{ TZJJLFrame }constructor TZJJLFrame.Create(AParent: TFrame; AZJJLData: TZJJLData);begin  inherited Create(AParent);  ResetFrameLink(AZJJLData);  with TProjectData(TPhaseData(FZJJLData.PhaseData).ProjectData) do    lePreText.Text := ProjProperties.ZJJLPreText;end;destructor TZJJLFrame.Destroy;begin  inherited;end;procedure TZJJLFrame.ResetFrameLink(AZJJLData: TZJJLData);begin  FZJJLData := AZJJLData;  zaZJJL.DataSet := FZJJLData.cdsZJJLView;  AlignControl(FZJJLData.DetailGrid, pnlZJJLProperty, alClient);end;procedure TZJJLFrame.actnGenerateExecute(Sender: TObject);begin  with TProjectData(TPhaseData(FZJJLData.PhaseData).ProjectData) do    ProjProperties.ZJJLPreText := lePreText.Text;  if rgType.ItemIndex = 0 then    FZJJLData.GenerateAll  else if rgType.ItemIndex = 1 then    FZJJLData.GenerateAllByB_Code;  FZJJLData.AssignedCurData;end;procedure TZJJLFrame.lePreTextExit(Sender: TObject);begin  with TProjectData(TPhaseData(FZJJLData.PhaseData).ProjectData) do    ProjProperties.ZJJLPreText := lePreText.Text;end;procedure TZJJLFrame.SetDataReadOnly(const Value: Boolean);begin  FDataReadOnly := Value;  actnGenerate.Enabled := not FDataReadOnly;  lePreText.Enabled := not FDataReadOnly;  rgType.Enabled := not FDataReadOnly;  zaZJJL.Column('Code').ReadOnly := FDataReadOnly;  zaZJJL.Column('CertificateCode').ReadOnly := FDataReadOnly;end;procedure TZJJLFrame.zgZJJLMouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);begin  if Button = mbRight then    dxpmZJJL.PopupFromCursorPos  else if (ssDouble in Shift) and (zgZJJL.CurCol = 3) then  begin    if FZJJLData.cdsZJJLView.RecordCount > 0 then      FZJJLData.LocateBills;  end;end;procedure TZJJLFrame.dxpmZJJLPopup(Sender: TObject);begin  SetDxBtnAction(actnLocateBills, MainForm.dxbtnLocateBills);end;procedure TZJJLFrame.actnLocateBillsExecute(Sender: TObject);begin  FZJJLData.LocateBills;end;procedure TZJJLFrame.actnLocateBillsUpdate(Sender: TObject);begin  TAction(Sender).Enabled := FZJJLData.cdsZJJLView.RecordCount > 0;end;end.
 |