📄 treegoodstype.pas
字号:
unit TreeGoodsType;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TreeEditBase, StdCtrls, Buttons, ComCtrls, ExtCtrls;
type
TTreeGoodsTypeFrm = class(TTreeEditBaseForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
FTypeSQL1:string;
FTypeSQL2:string;
FTypeSQL3:string;
FCaption:string;
Function GetXName:string;
public
{ Public declarations }
property NewSQL1:string read FTypeSQL1 write FTypeSQL1;
property NewSQL2:string read FTypeSQL2 write FTypeSQL2;
property NewSQL3:string read FTypeSQL3 write FTypeSQL3;
property xName :string read GetXName;
property NewCaption :string read FCaption write Fcaption;
end;
var
TreeGoodsTypeFrm: TTreeGoodsTypeFrm;
implementation
uses datamodule1;
{$R *.dfm}
procedure TTreeGoodsTypeFrm.FormShow(Sender: TObject);
var
sText:string;
// n:integer;
begin
inherited;
self.Caption:=Fcaption;
with dataE2.qryType1 do
begin
close;
sText:=trim(SQL.text) ;//sql未变,不必重新初始化
if (sText<>FTypeSQL1) then
begin
SQL.clear;
SQL.add(FTypeSQL1);
end;
open;
first;
end;
tvType.Items.Clear;
node1:=tvType.Items.Add(nil,FCaption);
while not dataE2.qryType1.eof do
begin
if FTypeSQL2 = '' then
node2:=tvType.Items.AddChild(node1,dataE2.qryType1.FieldValues['name'])
else
node2:=tvType.Items.AddChild(node1,dataE2.qryType1.FieldValues['type']+' '+dataE2.qryType1.FieldValues['name']);
if FTypeSQL2 <> '' then
with dataE2.qryType2 do
begin
close;
SQL.Clear;
SQL.Add(FTypeSQL2);
Parameters[0].value:=dataE2.qryType1.FieldValues['type'];
open;
first;
while not eof do
begin
node3:=tvType.Items.AddChild(node2,dataE2.qryType1.FieldValues['type']+FieldValues['code1']+' '+FieldValues['name']);
if FTypeSQL2 <> '' then
with dataE2.qryType3 do
begin
close;
SQL.Clear;
SQL.Add(FTypeSQL3);
Parameters[0].value:=dataE2.qryType2.FieldValues['type'];
Parameters[1].value:=dataE2.qryType2.FieldValues['code1'];
open;
first;
while not eof do
begin
node4:=tvType.Items.AddChild(node3,dataE2.qryType1.FieldValues['type']+
dataE2.qryType2.FieldValues['code1']+FieldValues['code2']+' '+FieldValues['name']);
next;
end;
end;
next;
end;
end;
dataE2.qryType1.next;
end;
node1.Selected:=True;
end;
function TTreeGoodsTypeFrm.GetXName: string;
begin
if FTypeSQL2 = '' then
result:=tvType.Selected.Text
else result:=copy(tvType.Selected.Text,1,pos(' ',tvType.Selected.Text));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -