unit U_YarnStkHZSel; 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, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseHelp, System.ImageList, Vcl.ImgList, dxScrollbarAnnotations; type TfrmYarnStkHZSel = 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; Label3: TLabel; Label4: TLabel; Label8: TLabel; Label2: TLabel; Y_Name: TEdit; FromCoName: TEdit; Y_Spec: TEdit; BatchNo: TEdit; ToolButton2: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column14: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column6: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; v1Column3: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Tv1Column1: 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 FromCoNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); procedure Tv1DblClick(Sender: TObject); private procedure InitGrid(); { Private declarations } public FstkName: string; { Public declarations } end; var frmYarnStkHZSel: TfrmYarnStkHZSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmYarnStkHZSel.FormDestroy(Sender: TObject); begin inherited; frmYarnStkHZSel := nil; end; procedure TfrmYarnStkHZSel.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmYarnStkHZSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select FromCoNo,FromCoName,StkCoNo,StkCoName,Brand,Y_Name,stkqty=sum(ioqtyflag*qty),Price,QtyUnit,StkPosition'); sql.Add(' from BS_Yarn_IO A where'); sql.Add(' isnull(stkName,'''')=''' + Trim(FstkName) + ''''); sql.Add('GROUP BY FromCoNo,FromCoName,StkCoNo,StkCoName,Brand,Y_Name,Price,QtyUnit,StkPosition'); SQL.Add('HAVING sum(ioqtyflag*qty)>0'); sql.Add('order by StkCoName,Brand,Y_Name'); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmYarnStkHZSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYarnStkHZSel.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmYarnStkHZSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmYarnStkHZSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption), Tv1, '机物料仓库'); InitGrid(); end; procedure TfrmYarnStkHZSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; procedure TfrmYarnStkHZSel.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkHZSel.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmYarnStkHZSel.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmYarnStkHZSel.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkHZSel.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkHZSel.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 TfrmYarnStkHZSel.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '机物料仓库'); end; procedure TfrmYarnStkHZSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmYarnStkHZSel.Tv1DblClick(Sender: TObject); begin ModalResult := 1; end; end.