767 lines
20 KiB
ObjectPascal
767 lines
20 KiB
ObjectPascal
unit U_SelectStuff;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxSplitter, cxGridLevel,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||
cxControls, cxGridCustomView, cxGrid, cxContainer, cxTreeView, ToolWin,
|
||
cxCheckBox, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu, ImgList,
|
||
ExtCtrls, cxTL, cxMaskEdit, cxInplaceContainer, cxDBTL, cxTLData,
|
||
StdCtrls;
|
||
|
||
type
|
||
TfrmSelectStuff = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
Trefresh: TToolButton;
|
||
Tclose: TToolButton;
|
||
TreeView1: TcxTreeView;
|
||
Grid1: TcxGrid;
|
||
TV1: TcxGridDBTableView;
|
||
V1name: TcxGridDBColumn;
|
||
V1code: TcxGridDBColumn;
|
||
V1Dept: TcxGridDBColumn;
|
||
V1Duties: TcxGridDBColumn;
|
||
V1Career: TcxGridDBColumn;
|
||
V1InTime: TcxGridDBColumn;
|
||
Grid1Level1: TcxGridLevel;
|
||
cxSplitter1: TcxSplitter;
|
||
ToolButton1: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
CDS_Sub: TClientDataSet;
|
||
V1selected: TcxGridDBColumn;
|
||
ToolButton3: TToolButton;
|
||
ADOQuerycmd: TADOQuery;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ImageList24: TImageList;
|
||
ADOConnection1: TADOConnection;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
cxStyle_Active: TcxStyle;
|
||
cxStyle_gridRow: TcxStyle;
|
||
cxStyle_gridFoot: TcxStyle;
|
||
cxStyle_gridHead: TcxStyle;
|
||
cxStyle_gridGroupBox: TcxStyle;
|
||
cxStyle_yellow: TcxStyle;
|
||
cxStyle_Red: TcxStyle;
|
||
cxStyle_group: TcxStyle;
|
||
cxStyle_fontBlue: TcxStyle;
|
||
cxStyle_fontOlive: TcxStyle;
|
||
cxStyle_fontbalck: TcxStyle;
|
||
V1gangwei1: TcxGridDBColumn;
|
||
V1Sex1: TcxGridDBColumn;
|
||
V1Pstatus: TcxGridDBColumn;
|
||
ADOQueryTemp1: TADOQuery;
|
||
ADOQueryTemp2: TADOQuery;
|
||
Panel1: TPanel;
|
||
cxDBTreeList1: TcxDBTreeList;
|
||
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
|
||
DataSource2: TDataSource;
|
||
ADOQueryTree: TADOQuery;
|
||
Panel2: TPanel;
|
||
lbl1: TLabel;
|
||
Code: TEdit;
|
||
lbl2: TLabel;
|
||
name: TEdit;
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TcloseClick(Sender: TObject);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure TreeView1Click(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure TrefreshClick(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TV1MouseDown(Sender: TObject; Button: TMouseButton;
|
||
Shift: TShiftState; X, Y: Integer);
|
||
procedure V1nameStylesGetHeaderStyle(Sender: TcxGridTableView;
|
||
AColumn: TcxGridColumn; out AStyle: TcxStyle);
|
||
procedure cxDBTreeList1DblClick(Sender: TObject);
|
||
private
|
||
procedure InitGrid();
|
||
function TreeFiltered10(ADOQueryTemp:TADOQuery;TreeStr:string):string;
|
||
function AddData():boolean;
|
||
function AddData10():Boolean;
|
||
procedure DelData10();
|
||
procedure InitTree10();
|
||
procedure InitTree20();
|
||
procedure InitGrid20(ADOQueryMain:TADOQuery;ADOQueryTree:TADOQuery);
|
||
{procedure InitTree();
|
||
|
||
procedure TreeSelect();
|
||
function GetRoot(node:TTreeNode):TTreeNode;
|
||
procedure TreeFiltered();
|
||
procedure InitChildTree();
|
||
procedure GetRootInt(node:TTreeNode); }
|
||
{ Private declarations }
|
||
public
|
||
PState:Integer;
|
||
TreeStr:string;
|
||
TreeFilter:string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmSelectStuff: TfrmSelectStuff;
|
||
|
||
implementation
|
||
uses
|
||
U_FormPas,U_CxGridSet,U_global,U_RSFormPas,U_iniParam,U_SelfForm;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmSelectStuff.FormShow(Sender: TObject);
|
||
begin
|
||
Grid1.Align:=alClient;
|
||
ReadCxGrid(Self.Caption,TV1,'<27><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>');
|
||
//InitTree(ADOQueryTemp,TreeView1);
|
||
{if Trim(FormFlag)='2' then
|
||
begin
|
||
cxDBTreeList1.Visible:=True;
|
||
TreeView1.Visible:=False;
|
||
InitTree20();
|
||
end else
|
||
begin
|
||
TreeView1.Visible:=True;
|
||
cxDBTreeList1.Visible:=False;
|
||
InitTree10();
|
||
end;}
|
||
cxDBTreeList1.Visible:=True;
|
||
TreeView1.Visible:=False;
|
||
InitTree20();
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.TcloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(Self.Caption,tv1,'<27><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>');
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
if CDS_Sub.IsEmpty then Exit;
|
||
{if AddData() then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD>ӳɹ<D3B3>~','<27><>ʾ',0);
|
||
end;}
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from AssTemp ');
|
||
Open;
|
||
if RecordCount<1 then
|
||
begin
|
||
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
Application.MessageBox('<27><><EFBFBD>ӳɹ<D3B3>~','<27><>ʾ',0);
|
||
frmSelectStuff.Close;
|
||
end;
|
||
function TfrmSelectStuff.AddData10():Boolean;
|
||
begin
|
||
try
|
||
Result:=False;
|
||
ADOQuerycmd.Connection.BeginTrans;
|
||
with ADOQuerycmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from AssTemp where 1<>1');
|
||
Open;
|
||
end;
|
||
with ADOQuerycmd do
|
||
begin
|
||
Append;
|
||
FieldByName('code').Value:=Trim(CDS_Sub.fieldbyname('code').asstring);
|
||
FieldByName('name').Value:=Trim(CDS_Sub.fieldbyname('name').asstring);
|
||
FieldByName('Dept').Value:=Trim(CDS_Sub.fieldbyname('Dept').asstring);
|
||
Post;
|
||
end;
|
||
ADOQuerycmd.Connection.CommitTrans;
|
||
Result:=True;
|
||
except
|
||
Result:=False;
|
||
ADOQuerycmd.Connection.RollbackTrans;
|
||
Application.MessageBox('Asstemp<6D><70><EFBFBD><EFBFBD>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>','<27><>ʾ',0);
|
||
end;
|
||
end;
|
||
function TfrmSelectStuff.AddData():Boolean;
|
||
begin
|
||
try
|
||
Result:=False;
|
||
ADOQuerycmd.Connection.BeginTrans;
|
||
with ADOQuerycmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('delete asstemp');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQuerycmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from AssTemp where 1<>1');
|
||
Open;
|
||
end;
|
||
if (CDS_Sub.Active) and (CDS_Sub.RecordCount>0) then
|
||
begin
|
||
CDS_Sub.First;
|
||
while not CDS_Sub.Eof do
|
||
begin
|
||
if CDS_Sub.FieldByName('sel').Value=True then
|
||
begin
|
||
with ADOQuerycmd do
|
||
begin
|
||
Append;
|
||
FieldByName('code').Value:=Trim(CDS_Sub.fieldbyname('code').asstring);
|
||
FieldByName('name').Value:=Trim(CDS_Sub.fieldbyname('name').asstring);
|
||
FieldByName('Dept').Value:=Trim(CDS_Sub.fieldbyname('Dept').asstring);
|
||
Post;
|
||
end;
|
||
end;
|
||
CDS_Sub.Next;
|
||
end;
|
||
end;
|
||
if ADOQuerycmd.RecordCount<1 then
|
||
begin
|
||
ADOQuerycmd.Connection.RollbackTrans;
|
||
Exit;
|
||
end;
|
||
ADOQuerycmd.Connection.CommitTrans;
|
||
Result:=True;
|
||
close;
|
||
except
|
||
Result:=False;
|
||
ADOQuerycmd.Connection.RollbackTrans;
|
||
Application.MessageBox('Asstemp<6D><70><EFBFBD><EFBFBD>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>','<27><>ʾ',0);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
procedure TfrmSelectStuff.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
try
|
||
CDS_Sub.DisableControls;
|
||
if (CDS_Sub.Active) and (CDS_Sub.RecordCount>0) then
|
||
begin
|
||
CDS_Sub.First;
|
||
while not CDS_Sub.Eof do
|
||
begin
|
||
CDS_Sub.Edit ;
|
||
CDS_Sub.FieldByName('sel').Value:=True;
|
||
DelData10();
|
||
AddData10();
|
||
CDS_Sub.Next;
|
||
end;
|
||
end;
|
||
finally
|
||
CDS_Sub.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
Try
|
||
if (CDS_Sub.Active) and (CDS_Sub.RecordCount>0) then
|
||
begin
|
||
CDS_Sub.First;
|
||
while not CDS_Sub.Eof do
|
||
begin
|
||
CDS_Sub.Edit ;
|
||
CDS_Sub.FieldByName('sel').Value:=False;
|
||
DelData10();
|
||
CDS_Sub.Next;
|
||
end;
|
||
end;
|
||
finally
|
||
end;
|
||
end;
|
||
procedure TfrmSelectStuff.InitGrid();
|
||
var
|
||
fsj:string;
|
||
begin
|
||
try
|
||
fsj:='select YS.Code,YS.Name,YS.Duties,YS.Dept,YF.framename dept1,YSA.Career,'+
|
||
' YS.Intime,YSA.PStatus,YSA.StuffType,XC.name gangwei1,XC1.name sex1 from YC_Stuff YS '+
|
||
' left join YC_Stuff_Attachment YSA on YS.code=YSA.code '+
|
||
' left join YC_Frame YF on YS.dept=YF.frameno '+
|
||
' Left join XC_CustCode XC on YS.gangwei=XC.code and XC.flag=''gangwei'' ' +
|
||
' Left join XC_CustCode XC1 on YS.sex=XC1.code and XC1.flag=''sex'' '+
|
||
' order by YSA.PStatus,len(ltrim(rtrim(Ys.code))),ltrim(rtrim(Ys.code)) ';
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
//SQL.Add('Exec P_Select_Yc_Stuff_Main :begindate,:enddate,''0'',0');
|
||
sql.Add(fsj);
|
||
Open;
|
||
end;
|
||
if PState=1 then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' select * from XC_CustCOde where name=''<27><>ְ'' ');
|
||
SQL.Add(' and flag=''PStatus'' ');
|
||
Open;
|
||
TreeFilter:=' PStatus='''+Trim(adoquerytemp.fieldbyname('code').AsString)+'''';
|
||
end;
|
||
Dofilter(ADOQueryMain,TreeFilter);
|
||
end;
|
||
if PState=2 then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' select * from YC_Stuff_Attachment');
|
||
SQL.Add(' where StuffType<>''''');
|
||
Open;
|
||
if IsEmpty then
|
||
begin
|
||
Application.MessageBox('Yc_Stuff_Attachment <20><><EFBFBD><EFBFBD>StuffTypeֵΪ<D6B5><CEAA>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' select * from XC_CustCOde where name=''<27><>ְ'' ');
|
||
SQL.Add(' and flag=''PStatus'' ');
|
||
Open;
|
||
TreeFilter:=' PStatus='''+Trim(adoquerytemp.fieldbyname('code').AsString)+'''';
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from XC_CustCode where name=''<27><><EFBFBD><EFBFBD>'' and flag=''StuffType''');
|
||
Open;
|
||
end;
|
||
TreeFilter:=TreeFilter+' and StuffType='''+Trim(ADOQueryTemp.fieldbyname('code').AsString)+'''';
|
||
Dofilter(ADOQueryMain,TreeFilter);
|
||
//PState:=0;
|
||
end;
|
||
if PState=3 then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' select * from XC_CustCOde where name=''<27><>ְ'' ');
|
||
SQL.Add(' and flag=''PStatus'' ');
|
||
Open;
|
||
TreeFilter:=' PStatus='''+Trim(adoquerytemp.fieldbyname('code').AsString)+'''';
|
||
end;
|
||
Dofilter(ADOQueryMain,TreeFilter);
|
||
end;
|
||
CreateCDS20(ADOQueryMain,CDS_sub);
|
||
InitCDSData30(ADOQueryMain,CDS_sub);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
procedure TfrmSelectStuff.TreeView1Click(Sender: TObject);
|
||
begin
|
||
Panel1.Visible:=True;
|
||
Panel1.Refresh;
|
||
if Trim(ADOQueryMain.SQL.Text)='' then
|
||
begin
|
||
if ((PState=1) or (PState=2))then
|
||
begin
|
||
if TreeView1.Selected.Text<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְԱ<D6B0><D4B1>' then
|
||
begin
|
||
Exit;
|
||
end;
|
||
end;
|
||
if PState=3 then
|
||
begin
|
||
if TreeView1.Selected.Text<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְԱ<D6B0><D4B1>' then
|
||
begin
|
||
Exit;
|
||
end;
|
||
end;
|
||
InitGrid();
|
||
end;
|
||
//InitChildTree(ADOQueryTemp,TreeView1);
|
||
//InitChildTree10(ADOQueryTemp,TreeView1);
|
||
if TreeView1.Selected.Parent=nil then
|
||
begin
|
||
TreeStr:=trim(TreeView1.Selected.Text);
|
||
TreeFilter:=TreeSelect(TreeStr,ADOQueryTemp);
|
||
end else
|
||
begin
|
||
if Trim(FormFlag)='2' then
|
||
begin
|
||
InitData30(ADOQueryMain,TreeView1);
|
||
CreateCDS20(ADOQueryMain,CDS_Sub);
|
||
InitCDSData20(ADOQueryMain,CDS_Sub);
|
||
end else
|
||
begin
|
||
TreeStr:=Trim(GetRoot(TreeView1.Selected).Text);
|
||
TreeFilter:=TreeSelect(TreeStr,ADOQueryTemp);
|
||
TreeStr:=Trim(TreeView1.Selected.Text);
|
||
TreeFilter:=TreeFilter+TreeFiltered(ADOQueryTemp,TreeStr);
|
||
end;
|
||
{TreeStr:=Trim(GetRoot(TreeView1.Selected).Text);
|
||
TreeFilter:=TreeSelect(TreeStr,ADOQueryTemp);
|
||
TreeStr:=Trim(TreeView1.Selected.Text);
|
||
TreeFilter:=TreeFilter+TreeFiltered10(ADOQueryTemp,TreeStr);}
|
||
end;
|
||
try
|
||
with CDS_Sub do
|
||
begin
|
||
filtered:=false;
|
||
filter:=TreeFilter;
|
||
filtered:=true;
|
||
end;
|
||
finally
|
||
end;
|
||
Panel1.Visible:=False;
|
||
end;
|
||
procedure TfrmSelectStuff.InitTree20();
|
||
begin
|
||
with ADOQueryTree do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from Yc_Frame order by framelevel');
|
||
Open;
|
||
end;
|
||
end;
|
||
procedure TfrmSelectStuff.InitGrid20(ADOQueryMain:TADOQuery;ADOQueryTree:TADOQuery);
|
||
var
|
||
fsj:String;
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered:=False;
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('exec P_Select_Yc_Stuff_Main20 :FCode,0 ,:Def1,:UserId,:DeptCode');
|
||
if Length(Trim(gDef1))<2 then
|
||
begin
|
||
if Trim(gDef1)<>'' then
|
||
Parameters.ParamByName('Def1').Value:=StrToInt(gDef1);
|
||
end;
|
||
Parameters.ParamByName('UserId').Value:=Trim(gUserID);
|
||
Parameters.ParamByName('DeptCode').Value:=Trim(ADOQueryTree.fieldbyname('frameno').Asstring);
|
||
Open;
|
||
end;
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
procedure TfrmSelectStuff.InitTree10();
|
||
var
|
||
aNode,FNode:TTreeNode;
|
||
kind,LKind:string;
|
||
i,ii,j,z,hh,kk:Integer;
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from Xc_CustCode where Flag=''PStatus''');
|
||
Open;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
first;
|
||
while not eof do
|
||
begin
|
||
kind:='<27><><EFBFBD><EFBFBD>'+Trim(ADOQueryTemp.FieldByName('name').AsString)+'Ա<><D4B1>';
|
||
aNode:=TreeView1.Items.AddChild(nil,kind) ;
|
||
with ADOQueryTemp2 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('Select * from Yc_Frame where framelevel=0');
|
||
Open;
|
||
end;
|
||
kind:=Trim(ADOQueryTemp2.FieldByName('framename').AsString);
|
||
aNode:=TreeView1.Items.AddChild(aNode,kind);
|
||
Next;
|
||
end;
|
||
end;
|
||
with ADOQueryTemp1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('Select Max(Framelevel) MaxLevel from Yc_Frame ');
|
||
Open;
|
||
Z:=ADOQueryTemp1.fieldbyname('MaxLevel').AsInteger;
|
||
end;
|
||
for ii:=1 to Z do
|
||
begin
|
||
if ii=4 then TreeView1.TopItem.Expand(True);
|
||
hh:=1;
|
||
while hh=1 do
|
||
begin
|
||
kk:=TreeView1.Items.Count-1;
|
||
for i:=0 to kk do
|
||
begin
|
||
//showmessage(TreeView1.Items.Item[i].Text+InttoStr(TreeView1.Items.Item[i].Level));
|
||
if TreeView1.Items.Item[i].Level=ii then
|
||
begin
|
||
aNode:=TreeView1.Items.Item[i];
|
||
if aNode.HasChildren then Continue;
|
||
with ADOQueryTemp1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('Select * from Yc_Frame where framename='''+Trim(aNode.Text)+'''');
|
||
Open;
|
||
LKind:=Trim(ADOQueryTemp1.fieldbyname('frameno').AsString);
|
||
end;
|
||
with ADOQueryTemp1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('Select * from Yc_Frame where framelevel='+Inttostr(ii));
|
||
sql.Add(' and frametop='''+LKind+'''');
|
||
Open;
|
||
|
||
end;
|
||
with ADOQueryTemp1 do
|
||
begin
|
||
if IsEmpty then Continue;
|
||
First;
|
||
j:=0;
|
||
kind:=Trim(ADOQueryTemp1.fieldbyname('framename').AsString);
|
||
aNode:=TreeView1.Items.AddChild(aNode,kind);
|
||
while not eof do
|
||
begin
|
||
if j>0 then
|
||
begin
|
||
kind:=Trim(ADOQueryTemp1.fieldbyname('framename').AsString);
|
||
aNode:=TreeView1.Items.Add(aNode,kind);
|
||
end;
|
||
Next;
|
||
j:=j+1;
|
||
end;
|
||
hh:=1;
|
||
break;
|
||
end;
|
||
end;
|
||
if i=kk then
|
||
begin
|
||
hh:=0;
|
||
Break;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
//TreeView1.TopItem.Expand(True);
|
||
end;
|
||
function TfrmSelectStuff.TreeFiltered10(ADOQueryTemp:TADOQuery;TreeStr:string):string;
|
||
var
|
||
TreeFilter:string;
|
||
begin
|
||
result:='';
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from Yc_Frame where framename='''+TreeStr+'''');
|
||
Open;
|
||
TreeStr:=Trim(fieldbyname('frameNo').AsString);
|
||
end;
|
||
TreeFilter:=' and Dept like'''+'%'+TreeStr+'%'+'''';
|
||
result:=TreeFilter;
|
||
end;
|
||
{
|
||
procedure TfrmSelectStuff.TreeSelect();
|
||
begin
|
||
TreeStr:=Copy(TreeStr,5,4);
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from Xc_CustCode where name='''+TreeStr+''' and flag=''PStatus''');
|
||
Open;
|
||
TreeStr:=Trim(fieldbyname('code').AsString);
|
||
end;
|
||
TreeFilter:=' PStatus='''+TreeStr+'''';
|
||
end;
|
||
function TfrmSelectStuff.GetRoot(node:TTreeNode):TTreeNode;
|
||
begin
|
||
Result:=node;
|
||
while((Result <> nil) and (Result.Parent <> nil)) do
|
||
Result:= Result.Parent;
|
||
end;
|
||
procedure TfrmSelectStuff.GetRootInt(node:TTreeNode);
|
||
begin
|
||
i:=0;
|
||
while((node<>nil)and(node.Parent<>nil)) do
|
||
begin
|
||
node:=node.Parent;
|
||
i:=i+1;
|
||
end;
|
||
end;
|
||
procedure TfrmSelectStuff.TreeFiltered();
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select * from Yc_Frame where framename='''+TreeStr+'''');
|
||
Open;
|
||
TreeStr:=Trim(fieldbyname('frameNo').AsString);
|
||
end;
|
||
TreeFilter:=TreeFilter+' and Dept like '+''''+'%'+TreeStr+'%'+'''';
|
||
end; }
|
||
|
||
procedure TfrmSelectStuff.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
ModalResult:=1;
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.TrefreshClick(Sender: TObject);
|
||
var
|
||
fsj:String;
|
||
begin
|
||
//InitGrid();
|
||
//SDofilter(ADOQueryMain,SGetFilters(Panel2,1,2));
|
||
if not(CDS_Sub.Active) then Exit;
|
||
fsj:=' code<>''''';
|
||
if Trim(Code.Text)<>'' then
|
||
begin
|
||
fsj:=fsj+' and code='+Quotedstr(Trim(Code.Text));
|
||
end;
|
||
if Trim(name.Text)<>'' then
|
||
begin
|
||
fsj:=fsj+' and name='+Quotedstr(Trim(name.Text));
|
||
end;
|
||
try
|
||
with CDS_Sub do
|
||
begin
|
||
filtered:=false;
|
||
if Trim(fsj)<>'' then
|
||
TreeFilter:=fsj;
|
||
filter:=TreeFilter;
|
||
filtered:=true;
|
||
end;
|
||
finally
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.FormCreate(Sender: TObject);
|
||
begin
|
||
Grid1.Align :=alclient;
|
||
with ADOConnection1 do
|
||
begin
|
||
Connected:=false;
|
||
ConnectionString:=gConString;
|
||
Connected:=true;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.TV1MouseDown(Sender: TObject;
|
||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
begin
|
||
CDS_Sub.Edit;
|
||
if CDS_Sub.FieldByName('Sel').Value<>True then
|
||
begin
|
||
CDS_Sub.FieldByName('Sel').Value:=True;
|
||
DelData10();
|
||
AddData10();
|
||
end
|
||
else
|
||
begin
|
||
CDS_Sub.FieldByName('Sel').Value:=False;
|
||
DelData10();
|
||
end;
|
||
end;
|
||
procedure TfrmSelectStuff.DelData10();
|
||
begin
|
||
with ADOQuerycmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('delete AssTemp where code='''+Trim(CDS_Sub.fieldbyname('code').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.V1nameStylesGetHeaderStyle(
|
||
Sender: TcxGridTableView; AColumn: TcxGridColumn; out AStyle: TcxStyle);
|
||
begin
|
||
v1Pstatus.SortOrder:=soAscending;
|
||
v1Code.SortOrder:=TcxDataSortOrder(0);
|
||
end;
|
||
|
||
procedure TfrmSelectStuff.cxDBTreeList1DblClick(Sender: TObject);
|
||
var
|
||
fsj:string;
|
||
begin
|
||
Panel1.Visible:=True;
|
||
Panel1.Refresh;
|
||
if Trim(ADOQueryMain.SQL.Text)='' then
|
||
begin
|
||
if ((PState=1) or (PState=2))then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select * from Xc_CustCode where name=''<27><>ְ'' and flag=''PStatus'' ');
|
||
Open;
|
||
fsj:=Trim(fieldbyname('Code').AsString);
|
||
end;
|
||
end;
|
||
if PState=3 then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select * from Xc_CustCode where name=''<27><>ְ'' and flag=''PStatus'' ');
|
||
Open;
|
||
fsj:=Trim(fieldbyname('Code').AsString);
|
||
end;
|
||
end;
|
||
end;
|
||
{if Trim(FormFlag)='2' then
|
||
begin
|
||
InitGrid20(ADOQueryMain,ADOQueryTree);
|
||
// Dofilter(ADOQueryMain,' PStatus='''+fsj+'''');
|
||
CreateCDS20(ADOQueryMain,CDS_Sub);
|
||
InitCDSData20(ADOQueryMain,CDS_Sub);
|
||
end; }
|
||
InitGrid20(ADOQueryMain,ADOQueryTree);
|
||
// Dofilter(ADOQueryMain,' PStatus='''+fsj+'''');
|
||
CreateCDS20(ADOQueryMain,CDS_Sub);
|
||
InitCDSData20(ADOQueryMain,CDS_Sub);
|
||
|
||
try
|
||
with CDS_Sub do
|
||
begin
|
||
filtered:=false;
|
||
if Trim(fsj)<>'' then
|
||
TreeFilter:=' PStatus='''+fsj+'''';
|
||
filter:=TreeFilter;
|
||
filtered:=true;
|
||
end;
|
||
finally
|
||
end;
|
||
Panel1.Visible:=False;
|
||
end;
|
||
|
||
end.
|