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 + -
显示快捷键?