unit U_PieceSampleKcListSEL; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus, BtnEdit, U_SLT, jpeg, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, Math, cxCalendar; type TfrmPieceSampleKcListSEL = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; Label7: TLabel; v1Column5: TcxGridDBColumn; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; v1Column8: TcxGridDBColumn; ADOQueryMain: TADOQuery; P_Code: TEdit; Label18: TLabel; Label31: TLabel; FactoryName: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton2: TToolButton; adoqueryPicture: TADOQuery; lbl1: TLabel; yptype: TEdit; cv1Column13: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure P_CodeNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton3Click(Sender: TObject); procedure BTLPClick(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure P_CodeKeyPress(Sender: TObject; var Key: Char); procedure yptypeChange(Sender: TObject); private CurrentPage, RecordsNumber: Integer; procedure InitGrid(); { Private declarations } public fType: integer; fCKName: string; { Public declarations } end; var frmPieceSampleKcListSEL: TfrmPieceSampleKcListSEL; var Mach: array of TfrmSlt; implementation uses U_DataLink, U_Fun10, U_ZDYHelp; {$R *.dfm} procedure TfrmPieceSampleKcListSEL.InitGrid(); var fwhere, Pwhere: string; begin try with adoqueryMain do begin close; sql.Clear; SQL.Add('select * from ('); sql.Add(' select A.P_Code,yptype,A.QtyUnit '); sql.Add(' ,count(crqtyflag *A.RollNum) KCRollNum,sum(crqtyflag*A.Qty) KCQty '); SQL.Add(' from CK_Skgb_CR A '); sql.Add(' where CKName=' + quotedstr(trim(fCKName))); sql.ADD(' and A.Valid=''Y'' AND Chkstatus=''1'' '); sql.Add(' group by A.P_Code,yptype,A.QtyUnit '); sql.Add(')aa where KCQty>0'); open; end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); finally end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmPieceSampleKcListSEL.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption + tv1.Name, Tv1, 'ÃæÁϲֿâ'); if fType = 10 then Action := cahide else Action := cafree; end; procedure TfrmPieceSampleKcListSEL.FormDestroy(Sender: TObject); begin frmPieceSampleKcListSEL := nil; end; procedure TfrmPieceSampleKcListSEL.P_CodeNameChange(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmPieceSampleKcListSEL.FormShow(Sender: TObject); begin CurrentPage := 1; RecordsNumber := 500; readCxGrid(self.Caption + tv1.Name, Tv1, 'ÃæÁϲֿâ'); // InitGrid(); end; procedure TfrmPieceSampleKcListSEL.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmPieceSampleKcListSEL.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmPieceSampleKcListSEL.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmPieceSampleKcListSEL.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmPieceSampleKcListSEL.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, true); end; procedure TfrmPieceSampleKcListSEL.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, false); end; procedure TfrmPieceSampleKcListSEL.ToolButton2Click(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmPieceSampleKcListSEL.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // InitImage(); end; procedure TfrmPieceSampleKcListSEL.ToolButton3Click(Sender: TObject); begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_Up_SampleKc_skAll'); execsql; end; end; procedure TfrmPieceSampleKcListSEL.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmPieceSampleKcListSEL.BTNPClick(Sender: TObject); begin if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmPieceSampleKcListSEL.TCBNORChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmPieceSampleKcListSEL.P_CodeKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmPieceSampleKcListSEL.yptypeChange(Sender: TObject); begin ToolButton2.Click(); end; end.