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

📄 fmclassu.pas

📁 小型库存管理,希望有帮助,小型库存管理,希望有帮助
💻 PAS
字号:
unit FMClassU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, FMSingleU, ExtCtrls, ComCtrls, dxtree, dxdbtree, Menus, DB,
  ADODB, StdCtrls, Buttons, Mask, DBCtrls;

type
  TFMClass = class(TFMSingle)
    ClassTree: TdxDBTreeView;
    Splitter1: TSplitter;
    Panel1: TPanel;
    Label1: TLabel;
    dbfClassNo: TDBEdit;
    Label2: TLabel;
    dbfClassName: TDBEdit;
    cdsMainfClassNo: TWideStringField;
    cdsMainfClassName: TWideStringField;
    cdsMainfParentId: TWideStringField;
    cdsMainfLevel: TSmallintField;
    cdsMainfIsLast: TSmallintField;
    cdsMainfFFU: TWideStringField;
    Label3: TLabel;
    DBRadioGroup1: TDBRadioGroup;
    TreePanel: TPanel;
    idtType1: TRadioButton;
    idtType2: TRadioButton;
    procedure btnQueryClick(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnModifyClick(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure btnCancleClick(Sender: TObject);
  private
    { Private declarations }
    parID,depID :String;
  public
    { Public declarations }
    function DelCheck:boolean ; override ;
  end;

var
  FMClass: TFMClass;

implementation

{$R *.dfm}

function TFMClass.DelCheck:boolean;
begin
  result :=true ;
  QrySQL.Active :=false ;
  QrySQL.SQL.Text :='select count(*) from ts_item where fClass like '+#39+cdsMain.FieldByName('fClassNo').AsString+'%'+#39;
  QrySQL.Active :=true ;
  if QrySQL.Fields[0].AsInteger >0 then
    begin
      result :=false ;
      aErrMsg :='该分类下有商品记录,不能删除.';
    end ;
end ;

{查询}
procedure TFMClass.btnQueryClick(Sender: TObject);
begin
  exit ;
  inherited;
end;

procedure TFMClass.btnSaveClick(Sender: TObject);
begin
   if idtType1.Checked then
      cdsMain.FieldByName('fParentId').AsString :=parID
   else
    if idtType2.Checked then
      cdsMain.FieldByName('fParentId').AsString :=depID;

   if cdsMain.FieldByName('fParentId').AsString='0' then
      cdsMain.FieldByName('fLevel').AsInteger :=1
   else
    begin
     QrySQL.Active :=False ;
     QrySQL.SQL.Text :=' select fLevel+1 from ts_class where fClassNo='+#39+cdsMain.FieldByName('fParentId').AsString+#39 ;
     QrySQL.Open ;
     if not QrySQL.Eof then
        cdsMain.FieldByName('fLevel').AsString :=QrySQL.Fields[0].AsString ;
     QrySQL.Active :=False ;
    end ;
  inherited;
  TreePanel.Visible :=false ;
  ClassTree.Enabled :=true ;
end;

procedure TFMClass.FormShow(Sender: TObject);
begin
  inherited;
  cdsMain.Active :=false ;
  cdsMain.Active :=true ;
end;

procedure TFMClass.btnModifyClick(Sender: TObject);
begin
  inherited;
  ClassTree.Enabled :=false ;
  dbfClassNo.ReadOnly :=true ;
  dbfClassName.SetFocus ;
end;

procedure TFMClass.btnAddClick(Sender: TObject);
begin
  TreePanel.Visible :=true ;
  ClassTree.Enabled :=false ;
  if cdsMain.RecordCount>0 then
  begin
    parID :=cdsMain.FieldByName('fParentId').AsString;   //上级ID
    depID :=cdsMain.FieldByName('fClassNo').AsString;     //本级ID
  end
  else
  begin
    parID :='0';
    depID :='0';
  end;
  inherited;
  cdsMain.FieldByName('fIsLast').AsString :='0'; // 0:不是 1:是
  cdsMain.FieldByName('fFFU').AsString :='0';
  dbfClassNo.ReadOnly :=false ;
  dbfClassNo.SetFocus ;

end;

procedure TFMClass.btnCancleClick(Sender: TObject);
begin
  inherited;
  TreePanel.Visible :=false ;
  ClassTree.Enabled :=true ;
end;

end.

⌨️ 快捷键说明

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