unit U_PurchaseContractSel; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit, cxDropDownEdit, cxCheckBox, Vcl.Menus, cxPC; type TfrmPurchaseContractSel = class(TfrmBaseHelp) ToolBar1: TToolBar; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; DS_1: TDataSource; CDS_1: TClientDataSet; TBSave: TToolButton; TBClose: TToolButton; ToolButton1: TToolButton; ADOConnection1: TADOConnection; Panel1: TPanel; Label1: TLabel; ConNo: TEdit; GPM_1: TcxGridPopupMenu; ImageList1: TImageList; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; VC_SCSCode: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1Column2: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TV1Column1: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; TV1Column3: TcxGridDBColumn; TV1Column4: TcxGridDBColumn; TV1Column5: TcxGridDBColumn; TV1Column6: TcxGridDBColumn; ThreeColorBase: TcxStyleRepository; SHuangSe: TcxStyle; SkyBlue: TcxStyle; Default: TcxStyle; QHuangSe: TcxStyle; Red: TcxStyle; FontBlue: TcxStyle; TextSHuangSe: TcxStyle; FonePurple: TcxStyle; FoneClMaroon: TcxStyle; FoneRed: TcxStyle; RowColor: TcxStyle; handBlack: TcxStyle; cxBlue: TcxStyle; SHuangSeCu: TcxStyle; TV1Column7: TcxGridDBColumn; PM_1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label2: TLabel; C_Name: TEdit; Label3: TLabel; BuyName: TEdit; cxTabControl1: TcxTabControl; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TV1DblClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private procedure InitGrid(); { Private declarations } public FCoType, FAuthority, FConNo, FC_Code: string; FPrtType: string; { Public declarations } end; var frmPurchaseContractSel: TfrmPurchaseContractSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmPurchaseContractSel.FormCreate(Sender: TObject); begin inherited; try with ADOConnection1 do begin Connected := false; ConnectionString := DConString; Connected := true; end; ADOQueryBaseCmd.Connection := ADOConnection1; ADOQueryBaseTemp.Connection := ADOConnection1; except application.MessageBox('网络连接失败!', '提示信息'); end; end; procedure TfrmPurchaseContractSel.ConNoChange(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 TfrmPurchaseContractSel.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmPurchaseContractSel.FormClose(Sender: TObject; var Action: TCloseAction); begin ConNo.SetFocus; Action := cahide; end; procedure TfrmPurchaseContractSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,B.* from BS_Contract_Main A inner join BS_Contract_Sub B on A.ConMId=B.ConMId '); sql.Add(' where isnull(A.status,''0'')=''9'''); if trim(fconNo) <> '' then sql.Add(' and conNo=' + quotedstr(fconNo)); if trim(fC_Code) <> '' then sql.Add(' and C_Code=' + quotedstr(fC_Code)); sql.Add(' and A.ConType in (''采购'',''加工'') '); case cxTabControl1.TabIndex of 0: begin if FPrtType = '坯布' then begin sql.Add(' and TPNPlan=''坯布采购'' '); sql.add('and NOT exists(select X.FromPurSId from Bs_Cloth_IO X where X.FromPurSId=B.ConSId ) '); end; if FPrtType = '成品' then begin sql.Add(' and TPNPlan=''成品采购'' '); sql.add('and NOT exists(select X.FromPurSId from Bs_Cloth_IO X where X.FromPurSId=B.ConSId ) '); end; if FPrtType = '纱线' then begin sql.Add(' and TPNType=''纱线'' '); sql.add('and NOT exists(select X.FromPurSId from BS_Yarn_IO X where X.FromPurSId=B.ConSId ) '); end; if FPrtType = '母粒' then begin sql.Add(' and TPNType=''母粒'' '); sql.add('and NOT exists(select X.FromPurSId from Bs_Product_IO X where X.FromPurSId=B.ConSId ) '); end; end; 1: begin if FPrtType = '坯布' then begin sql.Add(' and TPNPlan=''坯布采购'' '); end; if FPrtType = '成品' then begin sql.Add(' and TPNPlan=''成品采购'' '); end; if FPrtType = '纱线' then begin sql.Add(' and TPNType=''纱线'' '); end; if FPrtType = '母粒' then begin sql.Add(' and TPNType=''母粒'' '); end; end; end; Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPurchaseContractSel.N1Click(Sender: TObject); begin SelOKNo(CDS_1, True); end; procedure TfrmPurchaseContractSel.N2Click(Sender: TObject); begin SelOKNo(CDS_1, False); end; procedure TfrmPurchaseContractSel.FormShow(Sender: TObject); begin inherited; InitGrid(); ReadCxGrid(Trim(self.Caption), TV1, '自定义数据'); end; procedure TfrmPurchaseContractSel.TBCloseClick(Sender: TObject); begin inherited; Close; end; procedure TfrmPurchaseContractSel.TBSaveClick(Sender: TObject); begin WriteCxGrid(Trim(self.Caption), TV1, '自定义数据'); end; procedure TfrmPurchaseContractSel.ToolButton1Click(Sender: TObject); begin ConNo.SetFocus; ModalResult := 1; end; procedure TfrmPurchaseContractSel.TV1DblClick(Sender: TObject); begin ModalResult := 1; end; procedure TfrmPurchaseContractSel.FormDestroy(Sender: TObject); begin inherited; frmPurchaseContractSel := nil; end; end.