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

📄 treegoodstype.pas

📁 飞恒进销存(超市批发)管理系统V5.1(含源程序) 语言:Delphi 6/7 相关控件:FastReport 2.4以上, Ehlib 3.4以上 1.数据库为fhe2db_V51.da
💻 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 + -