📄 fmclassu.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 + -