unit U_GYSSel; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu; type TfrmGYSSel = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; Label3: TLabel; KHNameHZ: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; Order_Main: TClientDataSet; v2Column6: TcxGridDBColumn; v2Column2: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure KHNameHZChange(Sender: TObject); procedure Tv2DblClick(Sender: TObject); private { Private declarations } procedure InitGrid(); public FCRType: string; F1: string; canshu1: string; end; var frmGYSSel: TfrmGYSSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmGYSSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add(' select A.*,B.*,KHName=isnull(A.CoName,A.CoHRName) '); sql.Add(',KHNameHZ=dbo.getpinyin(isnull(A.CoName,''''))+'' ''+dbo.getpinyin(isnull(A.CoHRName,''''))+'' '' '); sql.Add('+isnull(A.CoName,'''')+isnull(A.CoHRName,'''')+isnull(A.CoCode,'''')'); sql.Add('from Company A LEFT join Company_contact B ON A.COID=B.COID where CoType=''供应商'' and Valid=''Y'' '); // sql.Add('and FactType=''业务供应商'''); // if F1 = '业务供应商' then // begin // sql.Add('and FactType=''业务供应商'''); // end; if canshu1 = '业务' then begin sql.Add('and FactType=''业务供应商'''); end; if canshu1 = '生产' then begin sql.Add('and FactType<>''经销'''); end; // else // begin // sql.Add(' select A.*,B.*,KHName=isnull(A.CoName,A.CoHRName) '); // sql.Add(',KHNameHZ=dbo.getpinyin(isnull(A.CoName,''''))+'' ''+dbo.getpinyin(isnull(A.CoHRName,''''))+'' '' '); // sql.Add('+isnull(A.CoName,'''')+isnull(A.CoHRName,'''')+isnull(A.CoCode,'''')'); // sql.Add('from Company A where CoType=''供应商'' and Valid=''Y'' '); // end; // ShowMessage(sql.Text); Open; end; SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmGYSSel.FormDestroy(Sender: TObject); begin frmGYSSel := nil; end; procedure TfrmGYSSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmGYSSel.TBCloseClick(Sender: TObject); begin WriteCxGrid('供应商资料Sel', Tv2, '客户自定义'); Close; end; procedure TfrmGYSSel.FormShow(Sender: TObject); begin ReadCxGrid('供应商资料Sel', Tv2, '客户自定义'); // Tv2Column1.Visible := False; // Tv2Column1.Hidden := True; // Tv2Column2.Visible := False; // Tv2Column2.Hidden := True; // if f1 = '业务供应商' then // begin Tv2Column1.Visible := True; Tv2Column1.Hidden := False; Tv2Column2.Visible := True; Tv2Column2.Hidden := False; // end; InitGrid(); end; procedure TfrmGYSSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmGYSSel.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; end; procedure TfrmGYSSel.KHNameHZChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmGYSSel.Tv2DblClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ModalResult := 1; end; end.