unit U_TatConSel; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseHelp, dxDateRanges, System.ImageList, Vcl.ImgList, dxSkinWXI, dxScrollbarAnnotations, cxCalendar; type TfrmTatConSel = class(TfrmBaseHelp) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBOK: TToolButton; TBSave: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; ConNo: TEdit; BuyName: TEdit; C_Code: TEdit; C_Name: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1ConNo: TcxGridDBColumn; v1ConDate: TcxGridDBColumn; v1BuyName: TcxGridDBColumn; v1Saleser: TcxGridDBColumn; v1SerialNo: TcxGridDBColumn; v1C_Code: TcxGridDBColumn; v1C_Name: TcxGridDBColumn; v1C_Spec: TcxGridDBColumn; v1C_Color: TcxGridDBColumn; v1C_ColorNo: TcxGridDBColumn; v1C_StyleNo: TcxGridDBColumn; v1C_Pattern: TcxGridDBColumn; v1C_Width: TcxGridDBColumn; v1C_GramWeight: TcxGridDBColumn; v1ConQty: TcxGridDBColumn; v1ConUnit: TcxGridDBColumn; v1ConPrice: TcxGridDBColumn; v1ConTotalAmount: TcxGridDBColumn; v1ConSNote: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ADOQueryMain: TADOQuery; DS_1: TDataSource; CDS_1: TClientDataSet; GPM_1: TcxGridPopupMenu; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBOKClick(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure FilterChange(Sender: TObject); private procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmTatConSel: TfrmTatConSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmTatConSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; Filtered := False; sql.Clear; sql.Add(' select A.ConMId,A.ConNo,A.ConDate,A.BuyName,A.Saleser,'); sql.Add(' B.ConSId,B.SerialNo,B.C_Code,B.C_Name,B.C_Spec,B.C_Color,B.C_ColorNo,'); sql.Add(' B.C_StyleNo,B.C_Pattern,B.C_Width,B.C_GramWeight,'); sql.Add(' B.ConQty,B.ConUnit,B.ConPrice,B.ConTotalAmount,B.ConSNote '); sql.Add(' from BS_Contract_Main A inner join BS_Contract_Sub B on A.ConMId=B.ConMId '); sql.Add(' where isnull(A.status,''0'')=''9'' '); sql.Add(' and A.ConType in (''内销'',''外销'') '); sql.Add(' order by A.ConDate desc,A.ConNo,B.SerialNo '); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTatConSel.FormDestroy(Sender: TObject); begin inherited; frmTatConSel := nil; end; procedure TfrmTatConSel.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caHide; end; procedure TfrmTatConSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid(Trim(Self.Caption) + 'Tv1', Tv1, '贸易检验管理'); InitGrid(); end; procedure TfrmTatConSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmTatConSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTatConSel.TBOKClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmTatConSel.TBSaveClick(Sender: TObject); begin WriteCxGrid(Trim(Self.Caption) + 'Tv1', Tv1, '贸易检验管理'); end; procedure TfrmTatConSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTatConSel.Tv1DblClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmTatConSel.FilterChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; end.