unit U_CPCKKCSelList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC; type TfrmCPCKKCSelList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label12: TLabel; Label6: TLabel; SPName: TEdit; FactoryNameGYS: TEdit; OrderNo: TEdit; SPSpec: TEdit; CRType: TComboBox; SPCF: TEdit; Label1: TLabel; FactoryNameJY: TEdit; Label14: TLabel; SPCode: TEdit; Label2: TLabel; FromOrderNo: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column18: TcxGridDBColumn; v1Column2: TcxGridDBColumn; vCRType: TcxGridDBColumn; vFactoryName: TcxGridDBColumn; vFactoryNameJY: TcxGridDBColumn; vFactoryNameKH: TcxGridDBColumn; v1Column13: TcxGridDBColumn; vFromOrderNo: TcxGridDBColumn; vFromOrderNoMX: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; cxTabControl1: TcxTabControl; Label7: TLabel; FactoryNameKH: TEdit; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SXBatchNOChange(Sender: TObject); procedure FactoryNameGYSChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure cxTabControl1Change(Sender: TObject); private procedure InitGrid(); procedure InitGridStatus(); { Private declarations } public { Public declarations } end; var frmCPCKKCSelList: TfrmCPCKKCSelList; implementation uses U_DataLink,U_RTFun,U_SXCKInPut; {$R *.dfm} procedure TfrmCPCKKCSelList.FormDestroy(Sender: TObject); begin frmCPCKKCSelList:=nil; end; procedure TfrmCPCKKCSelList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCPCKKCSelList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',case when isnull(CRType,'''')=''采购入库'' then A.FactoryName else Null end as FactoryNameGYS '); sql.Add(',case when isnull(CRType,'''')=''他检入库'' then A.FactoryName else Null end as FactoryNameJY '); sql.Add(',case when isnull(CRType,'''')=''客户退回'' then A.FactoryName else Null end as FactoryNameKH '); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''成品仓库'' '); SQL.Add(' and A.CRFlag=''入库'' and MXKCQty>0'); if cxTabControl1.TabIndex<>0 then sql.Add(' and isnull(A.CRType,'''')='''+Trim(cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption)+''''); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCPCKKCSelList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCPCKKCSelList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCPCKKCSelList.TBCloseClick(Sender: TObject); begin WriteCxGrid('成品库存选择列表',Tv1,'成品仓库'); Close; end; procedure TfrmCPCKKCSelList.FormShow(Sender: TObject); begin ReadCxGrid('成品库存选择列表',Tv1,'成品仓库'); //InitGrid(); end; procedure TfrmCPCKKCSelList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmCPCKKCSelList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCPCKKCSelList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmCPCKKCSelList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmCPCKKCSelList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCPCKKCSelList.FactoryNameGYSChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCPCKKCSelList.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; ModalResult:=1; end; procedure TfrmCPCKKCSelList.InitGridStatus(); var FCRType:string; begin FCRType:=Trim(cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption); if Trim(FCRType)='自检入库' then begin vFactoryName.Visible:=False; vFactoryName.Hidden:=True; vFactoryNameJY.Visible:=False; vFactoryNameJY.Hidden:=True; vFactoryNameKH.Visible:=False; vFactoryNameKH.Hidden:=True; vFromOrderNo.Visible:=False; vFromOrderNo.Hidden:=True; vFromOrderNoMX.Visible:=False; vFromOrderNoMX.Hidden:=True; end else if Trim(FCRType)='他检入库' then begin vFactoryName.Visible:=False; vFactoryName.Hidden:=True; vFactoryNameJY.Visible:=True; vFactoryNameJY.Hidden:=False; vFactoryNameKH.Visible:=False; vFactoryNameKH.Hidden:=True; vFromOrderNo.Visible:=False; vFromOrderNo.Hidden:=True; vFromOrderNoMX.Visible:=False; vFromOrderNoMX.Hidden:=True; end else if Trim(FCRType)='采购入库' then begin vFactoryName.Visible:=True; vFactoryName.Hidden:=False; vFactoryNameJY.Visible:=False; vFactoryNameJY.Hidden:=True; vFactoryNameKH.Visible:=False; vFactoryNameKH.Hidden:=True; vFromOrderNo.Visible:=False; vFromOrderNo.Hidden:=True; vFromOrderNoMX.Visible:=False; vFromOrderNoMX.Hidden:=True; end else if Trim(FCRType)='客户退回' then begin vFactoryName.Visible:=False; vFactoryName.Hidden:=True; vFactoryNameJY.Visible:=False; vFactoryNameJY.Hidden:=True; vFactoryNameKH.Visible:=True; vFactoryNameKH.Hidden:=False; vFromOrderNo.Visible:=False; vFromOrderNo.Hidden:=True; vFromOrderNoMX.Visible:=False; vFromOrderNoMX.Hidden:=True; end else if Trim(FCRType)='转单入库' then begin vFactoryName.Visible:=False; vFactoryName.Hidden:=True; vFactoryNameJY.Visible:=False; vFactoryNameJY.Hidden:=True; vFactoryNameKH.Visible:=False; vFactoryNameKH.Hidden:=True; vFromOrderNo.Visible:=True; vFromOrderNo.Hidden:=False; vFromOrderNoMX.Visible:=True; vFromOrderNoMX.Hidden:=False; end else if Trim(FCRType)='全部' then begin vFactoryName.Visible:=True; vFactoryName.Hidden:=False; vFactoryNameJY.Visible:=True; vFactoryNameJY.Hidden:=False; vFactoryNameKH.Visible:=True; vFactoryNameKH.Hidden:=False; vFromOrderNo.Visible:=True; vFromOrderNo.Hidden:=False; vFromOrderNoMX.Visible:=True; vFromOrderNoMX.Hidden:=False; end; end; procedure TfrmCPCKKCSelList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult:=1; end; procedure TfrmCPCKKCSelList.cxTabControl1Change(Sender: TObject); begin InitGridStatus(); InitGrid(); end; end.