unit U_BSPrtDyeEJStkSel; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseHelp, System.ImageList, Vcl.ImgList, dxScrollbarAnnotations, cxContainer, dxSkinsCore, dxSkinsDefaultPainters; type TfrmBSPrtDyeEJStkSel = class(TfrmBaseHelp) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; CDS_HZ: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column17: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label4: TLabel; Label8: TLabel; Label2: TLabel; P_name: TcxTextEdit; FromCoName: TcxTextEdit; P_Spec: TcxTextEdit; BatchNo: TcxTextEdit; v1Column6: TcxGridDBColumn; ToolButton2: TToolButton; 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 FromCoNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public FstkName: string; { Public declarations } end; var frmBSPrtDyeEJStkSel: TfrmBSPrtDyeEJStkSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmBSPrtDyeEJStkSel.FormDestroy(Sender: TObject); begin inherited; frmBSPrtDyeEJStkSel := nil; end; procedure TfrmBSPrtDyeEJStkSel.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmBSPrtDyeEJStkSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from BS_Product_IO A where A.IOFlag=''入库'' and isnull(STkQty,0)>0 '); sql.Add(' and isnull(stkName,'''')=''' + Trim(FstkName) + ''''); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmBSPrtDyeEJStkSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmBSPrtDyeEJStkSel.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmBSPrtDyeEJStkSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmBSPrtDyeEJStkSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption), Tv1, '机物料仓库'); InitGrid(); end; procedure TfrmBSPrtDyeEJStkSel.TBFindClick(Sender: TObject); begin CDSDataFilter(ADOQueryMain, CDS_Main, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }'); end; procedure TfrmBSPrtDyeEJStkSel.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeEJStkSel.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmBSPrtDyeEJStkSel.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmBSPrtDyeEJStkSel.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeEJStkSel.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeEJStkSel.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 TfrmBSPrtDyeEJStkSel.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '机物料仓库'); end; procedure TfrmBSPrtDyeEJStkSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; end.