unit U_CustHelp_right; 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, ImgList, StdCtrls, ExtCtrls, ComCtrls, ToolWin, ADODB; type TfrmCustHelp_right = class(TForm) ToolBar1: TToolBar; BtnOk: TToolButton; BtnCancel: TToolButton; Panel1: TPanel; Label1: TLabel; Edit1: TEdit; ImageList24: TImageList; cxGrid1: TcxGrid; tv1: TcxGridDBTableView; tv1customNo: TcxGridDBColumn; tv1customName: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; cxGridt1: TcxGrid; tt1: TcxGridDBTableView; tt1ParentCodeName: TcxGridDBColumn; tt1codeName: TcxGridDBColumn; cleveltt1: TcxGridLevel; DataSource1: TDataSource; ADOQueryHelp: TADOQuery; ADOConnection1: TADOConnection; DS_Left: TDataSource; ADOQueryLeft: TADOQuery; tv1shortName: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; procedure FormCreate(Sender: TObject); procedure BtnCancelClick(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure tt1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure BtnOkClick(Sender: TObject); procedure tv1DblClick(Sender: TObject); procedure FormShow(Sender: TObject); private fisLoad:Boolean; procedure InitLeftTree(); procedure InitGrid(); public fValidCustFlag:Boolean; //是否显示无效客户 fDispCustomName:Boolean; //是否显示全称 end; var frmCustHelp_right: TfrmCustHelp_right; implementation uses U_global; {$R *.dfm} procedure TfrmCustHelp_right.FormCreate(Sender: TObject); begin cxGrid1.Align :=alClient; with ADOConnection1 do begin Connected:=false; ConnectionString:=gConString; Connected:=true; end; InitLeftTree(); InitGrid(); end; procedure TfrmCustHelp_right.BtnCancelClick(Sender: TObject); begin close; end; ////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////// procedure TfrmCustHelp_right.InitGrid(); var mfiler:string; mWhere:string; begin mWhere:=''; if trim(edit1.Text)<>'' then mWhere :=' and (A.CustomName Like '+quotedStr('%'+trim(edit1.Text)+'%')+ ' or A.ShortName Like '+quotedStr('%'+trim(edit1.Text)+'%')+ ' or A.CustomNo Like '+quotedStr('%'+trim(edit1.Text)+'%')+')'; mfiler:=''; if not ADOQueryLeft.IsEmpty then mfiler:='ywycode ='+quotedStr(trim(ADOQueryLeft.fieldBYName('ywycode').AsString)) ; try ADOQueryHelp.DisableControls ; with ADOQueryHelp do begin close; sql.clear; filtered:=false; sql.Add('exec P_Get_CustomerInfo'); sql.Add('2'); sql.Add(','+quotedStr(gUserId)); sql.Add(',1'); sql.Add(','+quotedStr(mWhere)); Open; if trim(mfiler)<>'' then begin filter:=mfiler; filtered:=true; end; end; finally ADOQueryHelp.EnableControls ; end; end; procedure TfrmCustHelp_right.Edit1Change(Sender: TObject); begin InitGrid(); end; //////////////////////////////////////////////////// // //////////////////////////////////////////////////// procedure TfrmCustHelp_right.InitLeftTree(); begin try fisLoad:=false; ADOQueryLeft.DisableControls ; with ADOQueryLeft do begin close; sql.clear; sql.Add('EXEC P_select_UserDept'); sql.Add(quotedStr(guserId)); sql.Add(',1'); Open; end; finally ADOQueryLeft.EnableControls ; fisLoad:=true; end; end; procedure TfrmCustHelp_right.tt1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin if fisLoad then InitGrid(); end; procedure TfrmCustHelp_right.BtnOkClick(Sender: TObject); begin if ADOQueryHelp.IsEmpty then exit; ModalResult := 1; end; procedure TfrmCustHelp_right.tv1DblClick(Sender: TObject); begin BtnOk.Click ; end; procedure TfrmCustHelp_right.FormShow(Sender: TObject); begin tv1customName.Visible := fDispCustomName; end; end.