RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/helpForm/U_LeftHelptree.pas
2025-01-08 11:55:07 +08:00

146 lines
4.0 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_LeftHelptree;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, ADODB, ExtCtrls, StdCtrls;
type
TframeLeftHelpTree = class(TFrame)
cxGridt1: TcxGrid;
tt1: TcxGridDBTableView;
tt1codeName: TcxGridDBColumn;
cleveltt1: TcxGridLevel;
DS_LTree: TDataSource;
ADOQueryLTree: TADOQuery;
Panel1: TPanel;
tt1ParentCodeName: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle_gridRow: TcxStyle;
cxStyle_gridFoot: TcxStyle;
cxStyle_gridHead: TcxStyle;
cxStyle_gridGroupBox: TcxStyle;
cxStyle_yellow: TcxStyle;
cxStyle_Red: TcxStyle;
cxStyle_fontred: TcxStyle;
cxStyle_fontBlue: TcxStyle;
ComboBox1: TComboBox;
Edit1: TEdit;
procedure tt1FocusedRecordChanged(Sender: TcxCustomGridTableView;
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
fLeftSelValue:string;
fLeftSelCaption:string;
procedure DoLeftFilter();
procedure InitLTree(fromADOQ:TADOQuery;mTreeCaption:string;
mTreeKind,mTreeFlag,mOtherWhere:string;autoExpand:boolean);
end;
implementation
{$R *.dfm}
/////////////////////////////////////////
//函数功能:初始化化树
//显示方式:
//mTreeCaption:树标题
//mTreeKind 客户;员工;机台;等
//mTreeFlag; 多种客户树的具体代号标志
//mOtherWhere:其他过滤条件
//autoExpand数是否自动展开
/////////////////////////////////////////
procedure TframeLeftHelpTree.InitLTree(fromADOQ:TADOQuery;mTreeCaption:string;
mTreeKind,mTreeFlag,mOtherWhere:string;autoExpand:boolean);
begin
{
if mTreeCaption<>'' then
begin
Panel1.caption:=trim(mTreeCaption);
Panel1.Visible :=true;
end;
}
//if autoExpand then
TT1.DataController.Options:=[dcoGroupsAlwaysExpanded];
//else
// TT1.DataController.Options:=[];
try
ADOQueryLTree.Connection:=fromADOQ.Connection;
ADOQueryLTree.DisableControls ;
with ADOQueryLTree do
begin
close;
sql.clear;
sql.Add('exec P_Get_WinLeftTree');
sql.Add(quotedStr(mTreeKind));
sql.Add(','+quotedStr(mTreeflag));
sql.Add(','+quotedStr(mOtherWhere));
Open;
end;
ADOQueryLTree.EnableControls;
except
application.MessageBox(pchar('初始化【'+mTreeCaption+'】树失败!'),'警告信息',0);
end;
end;
procedure TframeLeftHelpTree.tt1FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
if (tt1.Controller.FocusedRow is TcxGridGroupRow) then
begin
fLeftSelValue:='';
fLeftSelCaption:='';
end
else
begin
fLeftSelValue:=trim(ADOQueryLTree.fieldByName('code').AsString) ;
fLeftSelCaption:=trim(ADOQueryLTree.fieldByName('codeName').AsString) ;
end;
end;
///////////////////////////////////////////////////////////////
procedure TframeLeftHelpTree.DoLeftFilter();
var
mfilterStr:string;
begin
//名称
if (ComboBox1.ItemIndex=0) and (trim(edit1.Text) <>'') then
begin
mfilterStr:='codeName like '+quotedStr('%'+trim(edit1.Text)+'%');
end;
//编号
if (ComboBox1.ItemIndex=1) and (trim(edit1.Text) <>'') then
begin
mfilterStr:='code like '+quotedStr('%'+trim(edit1.Text)+'%');
end;
try
ADOQueryLTree.DisableControls ;
with ADOQueryLTree do
begin
filtered:=false;
if trim(mfilterStr)<>'' then
begin
filter:=mfilterStr;
filtered:=true;
end;
end;
finally
ADOQueryLTree.EnableControls;
end;
end;
procedure TframeLeftHelpTree.Edit1Change(Sender: TObject);
begin
DoLeftFilter();
end;
end.