unit U_GYSKPSel; 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 TfrmGYSKPSel = 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; Tv2Column3: 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 frmGYSKPSel: TfrmGYSKPSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmGYSKPSel.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_KPTT B ON A.COID=B.COID '); sql.Add('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 TfrmGYSKPSel.FormDestroy(Sender: TObject); begin frmGYSKPSel := nil; end; procedure TfrmGYSKPSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmGYSKPSel.TBCloseClick(Sender: TObject); begin WriteCxGrid('供应商资料Sel', Tv2, '客户自定义'); Close; end; procedure TfrmGYSKPSel.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 TfrmGYSKPSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmGYSKPSel.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 TfrmGYSKPSel.KHNameHZChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmGYSKPSel.Tv2DblClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ModalResult := 1; end; end.