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

177 lines
4.3 KiB
ObjectPascal

unit U_KqGroupHelp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxPC, cxControls, ImgList, ComCtrls, ToolWin, StdCtrls, ExtCtrls,
DB, ADODB, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, cxDBData, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses,
cxGridCustomView, cxGrid, cxTL, cxMaskEdit, cxInplaceContainer, cxDBTL,
cxTLData;
type
PMyRec = ^TMyRec;
TMyRec = record
wbcode: string;
Tvtem_str: string;
end;
type
TfrmKqGroupHelp = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
ImageList24: TImageList;
ADOQueryTmp: TADOQuery;
ADOConnection1: TADOConnection;
ADOQueryHelp: TADOQuery;
DS_Help: TDataSource;
tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
tv1GroupNo: TcxGridDBColumn;
tv1GroupName: TcxGridDBColumn;
ToolBar1: TToolBar;
BtnOk: TToolButton;
BtnCancel: TToolButton;
tv1Name: TcxGridDBColumn;
DataSource1: TDataSource;
ADOQueryChild: TADOQuery;
tv1Column1: TcxGridDBColumn;
tv1Column2: TcxGridDBColumn;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
v2Name: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure BtnOkClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure tv1DblClick(Sender: TObject);
procedure Tv2CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
LoadFlag:Boolean;
fSqlStr:string;
procedure InitTree();
procedure InitGrid(mSql:string);
public
end;
var
frmKqGroupHelp: TfrmKqGroupHelp;
implementation
uses
U_global;
{$R *.dfm}
procedure TfrmKqGroupHelp.FormCreate(Sender: TObject);
begin
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=gConString;
Connected:=true;
end;
fSqlStr:='select a.GroupNo,a.GroupName,a.WorkBeg,a.WorkEnd,B.Name,a.KqDept '+
'from Mc_KqGroup A,XC_CustCode B where B.Code=A.kqdept and B.flag=''kqdept'' ';
InitTree();
cxGrid1.Align :=alClient;
InitGrid(fSqlStr);
end;
procedure TfrmKqGroupHelp.BtnCancelClick(Sender: TObject);
begin
close;
end;
procedure TfrmKqGroupHelp.InitTree();
var
fsj:String;
begin
fsj:=' select Code,name '+
' from XC_CustCode A '+
' where A.Flag=''KQDept'' and A.Valid=''Y'' ';
with ADOQueryChild do
begin
Close;
sql.Clear;
sql.Add(fsj);
Open;
end;
end;
procedure TfrmKqGroupHelp.BtnOkClick(Sender: TObject);
begin
if ADOQueryHelp.IsEmpty then exit;
ModalResult := 1;
end;
procedure TfrmKqGroupHelp.InitGrid(mSql:string);
begin
try
with ADOQueryHelp do
begin
close;
sql.Clear ;
sql.Add(mSql);
sql.Add('order by KQDept');
Open;
end;
finally
end;
end;
procedure TfrmKqGroupHelp.Edit1Change(Sender: TObject);
var
TmpSql:string;
begin
TmpSql := 'select a.GroupNo,a.GroupName,a.WorkBeg,a.WorkEnd,B.Name,a.KQDept from Mc_KqGroup A,XC_CustCode B where B.Code=A.kqdept and B.flag=''kqdept'' '
+ ' and (A.GroupNo Like '+quotedStr('%'+trim(edit1.Text)+'%')+
' or A.GroupName Like '+quotedStr('%'+trim(edit1.Text)+'%')+
' )';
InitGrid(TmpSql);
end;
procedure TfrmKqGroupHelp.tv1DblClick(Sender: TObject);
begin
BtnOk.Click ;
end;
procedure TfrmKqGroupHelp.Tv2CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
fSqlStr:string;
begin
if ADOQueryHelp.Active then
begin
if Trim(ADOQueryChild.fieldbyname('Code').AsString)<>'' then
begin
fSqlStr:=' KqDept='+quotedStr(Trim(ADOQueryChild.fieldbyname('Code').AsString));
try
ADOQueryHelp.DisableControls;
with ADOQueryHelp do
begin
if Trim(fSqlStr)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=fSqlStr;
Filtered:=True;
end;
end;
finally
ADOQueryHelp.EnableControls;
end;
end;
end;
end;
end.