unit U_TotalClothStk; 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; type TfrmTotalClothStk = 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; v1Column2: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label8: TLabel; Label2: TLabel; C_name: TEdit; C_Spec: TEdit; BatchNo: TEdit; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column11: TcxGridDBColumn; ToolButton2: TToolButton; Tv1Column1: TcxGridDBColumn; Label1: TLabel; C_Code: TEdit; 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,FCode,FSubID: string; { Public declarations } end; var frmTotalClothStk: TfrmTotalClothStk; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmTotalClothStk.FormDestroy(Sender: TObject); begin inherited; frmTotalClothStk := nil; end; procedure TfrmTotalClothStk.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmTotalClothStk.InitGrid(); begin // try // ADOQueryMain.DisableControls; // with ADOQueryMain do // begin // Filtered := False; // Close; // sql.Clear; // sql.Add(' select A.* '); // sql.Add(' from BS_Cloth_IO A '); // SQL.Add(' where A.IOFlag=''入库'' and (isnull(STkQty,0)>0 or isnull(StkPiece,0)>0) '); // sql.Add(' and isnull(stkName,'''')=''' + Trim(FstkName) + ''''); // Open; // end; // SCreateCDS(ADOQueryMain, CDS_Main); // SInitCDSData(ADOQueryMain, CDS_Main); // finally // ADOQueryMain.EnableControls; // end; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select B.C_Code,B.C_Name,B.C_Color,B.C_Width,B.C_GramWeight,B.SubId,Count(B.CIID) Piece'); sql.Add(',SUM(StkGrossWeight) GrossWeight,SUM(StkMeter) Meter,SUM(StkYardage) Yardage from Trade_Cloth_IO A'); sql.Add('inner join Trade_Cloth_Stock B on A.StkId=B.StkId and A.IOCycles=B.StkCycles '); sql.Add('where A.IOFlag=''入库'' and B.StkExists=1 '); if TRIm(FCode) <> '' then begin sql.add('and C_Code =' + FCode + ')'); sql.add('and SubID =' + FSubId + ')'); end else begin sql.add('and 1=2'); end; sql.Add('GROUP BY B.C_Code,B.C_Name,B.C_Color,B.C_Width,B.C_GramWeight,B.SubId '); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; procedure TfrmTotalClothStk.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmTotalClothStk.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmTotalClothStk.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTotalClothStk.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption), Tv1, '贸易汇总仓库'); InitGrid(); end; procedure TfrmTotalClothStk.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 TfrmTotalClothStk.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmTotalClothStk.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmTotalClothStk.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmTotalClothStk.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmTotalClothStk.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmTotalClothStk.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 TfrmTotalClothStk.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '贸易汇总仓库'); end; procedure TfrmTotalClothStk.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; end.