fccell.pas

来自「制衣MRP管理系统源码」· PAS 代码 · 共 168 行

PAS
168
字号
unit FCCell;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseInfoBase, wwDialog, wwidlg, DB, ADODB, ActnList, ComCtrls,
  ToolWin, Grids, DBGrids, ExtCtrls, StdCtrls, DBCtrls, Mask, wwdblook,
  wwdbedit, fcTreeView, dxdbtrel, dxExEdtr, dxTL, dxDBCtrl, dxCntner,
  dxDBTL;

type
  TfrmFCCell = class(TfrmBaseInfoBase)
    Panel1: TPanel;
    Splitter1: TSplitter;
    qProcess: TADOQuery;
    dsProcess: TDataSource;
    Panel3: TPanel;
    Label10: TLabel;
    Label5: TLabel;
    wwDBEditCost: TwwDBEdit;
    Label4: TLabel;
    wwDBEditName: TwwDBEdit;
    Label2: TLabel;
    Label1: TLabel;
    wwDBLPro: TwwDBLookupCombo;
    QBaseInfofID: TAutoIncField;
    QBaseInfofProID: TIntegerField;
    QBaseInfofName: TWideStringField;
    QBaseInfofRoleID: TIntegerField;
    QBaseInfofCost: TBCDField;
    QBaseInfofNotes: TWideStringField;
    QBaseInfosProName: TStringField;
    QMaster: TADOQuery;
    dsMaster: TDataSource;
    DBMemo1: TDBMemo;
    qDep: TADOQuery;
    dsDep: TDataSource;
    QBaseInfosDepName: TStringField;
    DBGrid1: TDBGrid;
    QMasterAID: TAutoIncField;
    QMasterAName: TWideStringField;
    QMasterBID: TAutoIncField;
    QMasterBName: TWideStringField;
    dxDBLookupTreeView1: TdxDBLookupTreeView;
    Panel2: TPanel;
    tvMaster: TfcTreeView;
    qProcessfID: TAutoIncField;
    qProcessfName: TWideStringField;
    QMasterCID: TAutoIncField;
    QMasterCName: TWideStringField;
    ADOQuery1: TADOQuery;
    ADOQuery1sID: TStringField;
    ADOQuery1sParentID: TStringField;
    ADOQuery1fID: TIntegerField;
    ADOQuery1fParentID: TIntegerField;
    ADOQuery1fName: TWideStringField;
    dxDBTreeList1: TdxDBTreeList;
    dxDBTreeList1fID: TdxDBTreeListMaskColumn;
    dxDBTreeList1fParentID: TdxDBTreeListMaskColumn;
    dxDBTreeList1fName: TdxDBTreeListColumn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure tvMasterChange(TreeView: TfcCustomTreeView;
      Node: TfcTreeNode);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure QBaseInfoAfterInsert(DataSet: TDataSet);
    procedure dxDBLookupTreeView1DropDown(Sender: TObject);
  private
    iProcessID:integer;
    procedure DrawTree();  
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmFCCell: TfrmFCCell;

implementation

Uses DataModule,Global;
{$R *.dfm}

procedure TfrmFCCell.DrawTree();
begin
With QMaster do
begin
first;
//写树
tvMaster.items.BeginUpdate;
tvMaster.Items.Clear ;
while not eof do
begin
    GFTreeAddItem(3,False,QMaster,tvMaster);
    next;
end;
tvMaster.items.Endupdate;
if tvMaster.Items.Count >0 then
   tvMaster.Items[0].Selected :=True;
//tvMaster.FullExpand ;
end;
end;

procedure TfrmFCCell.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  frmFCCell:=nil;
end;

procedure TfrmFCCell.FormCreate(Sender: TObject);
begin
  inherited;
  if Not qMaster.Active then QMaster.Open ;
  if not qProcess.Active then qProcess.Open;
  if not qDep.Active then qDep.Open;
  drawTree();
end;

procedure TfrmFCCell.tvMasterChange(TreeView: TfcCustomTreeView;
  Node: TfcTreeNode);
var
  ChildNode:TfcTreeNode;
begin
  inherited;
if Node.level<>0 then
   iProcessID:=Integer(node.data^)
   else
   begin
   ChildNode:=node.GetFirstChild;
   iProcessID:=Integer(ChildNode.Data^);
   end;
With QBaseInfo do
   Begin
   Parameters.ParamValues['ProcessID']:=iProcessID;
   if Active then Requery else Open;
   end;
end;

procedure TfrmFCCell.dsBaseInfoStateChange(Sender: TObject);
var
i:Integer;
begin
  inherited;
With Panel3 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;
dbGrid1.ReadOnly := Not acSave.Enabled ;
tvMaster.Enabled := Not acSave.Enabled ;
end;

procedure TfrmFCCell.QBaseInfoAfterInsert(DataSet: TDataSet);
begin
  inherited;
QBaseInfo.FieldByName('fProID').asInteger:=iProcessID;
end;

procedure TfrmFCCell.dxDBLookupTreeView1DropDown(Sender: TObject);
begin
  inherited;
if Not acSave.Enabled then abort;
end;

end.

⌨️ 快捷键说明

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