unit U_KHSel; 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 TfrmKHSel = 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, canshu1: string; end; var frmKHSel: TfrmKHSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmKHSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add(' select A.*,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'' '); if canshu1 = '业务员' then SQL.Add(' and [dbo].[IsByKH](A.CoName,' + quotedstr(DName) + ')>0 '); Open; end; SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKHSel.FormDestroy(Sender: TObject); begin frmKHSel := nil; end; procedure TfrmKHSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmKHSel.TBCloseClick(Sender: TObject); begin WriteCxGrid('客户资料Sel', Tv2, '客户自定义'); Close; end; procedure TfrmKHSel.FormShow(Sender: TObject); begin ReadCxGrid('客户资料Sel', Tv2, '客户自定义'); InitGrid(); end; procedure TfrmKHSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKHSel.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 TfrmKHSel.KHNameHZChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmKHSel.Tv2DblClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ModalResult := 1; end; end.