unit U_CYPBCKKCSelList; 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 TfrmCYPBCKKCSelList = 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; FactoryName: TEdit; OrderNo: TEdit; SPSpec: TEdit; CRType: TComboBox; SPCF: TEdit; Label1: TLabel; FromFactoryName: TEdit; Label14: TLabel; SPCode: TEdit; Label2: TLabel; FromOrderNo: TEdit; Label7: TLabel; KHName: TEdit; cxTabControl1: TcxTabControl; cxGrid3: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; vFromOrderNo: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; vFtyName: TcxGridDBColumn; vFromFtyName: TcxGridDBColumn; vFromKHName: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridDBColumn15: TcxGridDBColumn; cxGridDBColumn16: TcxGridDBColumn; cxGridDBColumn17: TcxGridDBColumn; cxGridDBColumn20: TcxGridDBColumn; cxGridDBColumn21: TcxGridDBColumn; cxGridDBColumn22: TcxGridDBColumn; cxGridDBColumn45: TcxGridDBColumn; cxGridDBColumn46: TcxGridDBColumn; cxGridDBColumn47: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; 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 FactoryNameChange(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 frmCYPBCKKCSelList: TfrmCYPBCKKCSelList; implementation uses U_DataLink,U_RTFun,U_SXCKInPut; {$R *.dfm} procedure TfrmCYPBCKKCSelList.FormDestroy(Sender: TObject); begin frmCYPBCKKCSelList:=nil; end; procedure TfrmCYPBCKKCSelList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCYPBCKKCSelList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); 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 TfrmCYPBCKKCSelList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCYPBCKKCSelList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCYPBCKKCSelList.TBCloseClick(Sender: TObject); begin WriteCxGrid(Self.Caption+'库存选择列表',Tv1,Self.Caption); Close; end; procedure TfrmCYPBCKKCSelList.FormShow(Sender: TObject); begin ReadCxGrid(Self.Caption+'库存选择列表',Tv1,Self.Caption); //InitGrid(); end; procedure TfrmCYPBCKKCSelList.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 TfrmCYPBCKKCSelList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCYPBCKKCSelList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmCYPBCKKCSelList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmCYPBCKKCSelList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCYPBCKKCSelList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCYPBCKKCSelList.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 TfrmCYPBCKKCSelList.InitGridStatus(); var FFCRType:string; begin FFCRType:=Trim(cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption); if Trim(FFCRType)='采购入库' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=False; vFromFtyName.Hidden:=True; vFromKHName.Visible:=False; vFromKHName.Hidden:=True; vFromOrderNo.Visible:=false; vFromOrderNo.Hidden:=True; end else if Trim(FFCRType)='织造入库' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=False; vFromFtyName.Hidden:=True; vFromKHName.Visible:=False; vFromKHName.Hidden:=True; vFromOrderNo.Visible:=false; vFromOrderNo.Hidden:=True; end else if Trim(FFCRType)='半加工完成入库' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=True; vFromFtyName.Hidden:=false; vFromFtyName.Caption:='加工厂'; vFromKHName.Visible:=False; vFromKHName.Hidden:=True; vFromOrderNo.Visible:=false; vFromOrderNo.Hidden:=True; end else if Trim(FFCRType)='半加工未做回仓' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=True; vFromFtyName.Hidden:=false; vFromFtyName.Caption:='加工厂'; vFromKHName.Visible:=False; vFromKHName.Hidden:=True; vFromOrderNo.Visible:=false; vFromOrderNo.Hidden:=True; end else if Trim(FFCRType)='客户退回' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=False; vFromFtyName.Hidden:=True; vFromKHName.Visible:=True; vFromKHName.Hidden:=False; vFromOrderNo.Visible:=false; vFromOrderNo.Hidden:=True; end else if Trim(FFCRType)='转单入库' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=True; vFromFtyName.Hidden:=false; vFromKHName.Visible:=false; vFromKHName.Hidden:=True; vFromOrderNo.Visible:=True; vFromOrderNo.Hidden:=False; end else if Trim(FFCRType)='全部' then begin vFtyName.Visible:=True; vFtyName.Hidden:=false; vFromFtyName.Visible:=True; vFromFtyName.Hidden:=false; vFromKHName.Visible:=True; vFromKHName.Hidden:=false; vFromOrderNo.Visible:=True; vFromOrderNo.Hidden:=False; end; end; procedure TfrmCYPBCKKCSelList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult:=1; end; procedure TfrmCYPBCKKCSelList.cxTabControl1Change(Sender: TObject); begin InitGridStatus(); InitGrid(); end; end.