unit U_DJBCKKCList; 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, cxCurrencyEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList; type TfrmDJBCKKCList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label12: TLabel; Label6: TLabel; Label7: TLabel; SPName: TEdit; FactoryName: TEdit; SPID: TEdit; SPSpec: TEdit; CRType: TComboBox; SPCF: TEdit; OrderNo: TEdit; Label1: TLabel; ToFactoryName: TEdit; v1Column16: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column17: TcxGridDBColumn; Label2: TLabel; KuWei: TEdit; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; Label9: TLabel; RCGangNo: TEdit; Label10: TLabel; SPColor: TEdit; Label13: TLabel; SPHX: TEdit; ToolButton2: TToolButton; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column24: TcxGridDBColumn; v1Column25: TcxGridDBColumn; ToolButton3: TToolButton; Label11: TLabel; spcode: TEdit; Label15: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CheckBox1: TCheckBox; 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 N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure FormCreate(Sender: TObject); private procedure InitGrid(); { Private declarations } public canshu2: string; { Public declarations } end; var frmDJBCKKCList: TfrmDJBCKKCList; implementation uses U_DataLink, U_RTFun, U_SXCKInPut; {$R *.dfm} procedure TfrmDJBCKKCList.FormDestroy(Sender: TObject); begin inherited; frmDJBCKKCList := nil; end; procedure TfrmDJBCKKCList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDJBCKKCList.FormCreate(Sender: TObject); begin inherited; canshu2 := Trim(DParameters2); end; procedure TfrmDJBCKKCList.InitGrid(); var fwhere: string; begin fwhere := ''; fwhere := SGetFilters(Panel1, 1, 2); 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'); sql.Add('AND ISNULL(CDANWEI,''内'')=' + quotedstr(canshu2)); if CheckBox1.Checked then begin sql.add(' and A.CRTime>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)))); sql.add(' and A.CRTime<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); end; if fwhere <> '' then SQL.Add(' and ' + fwhere); Open; // ShowMessage(SQL.Text); end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDJBCKKCList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDJBCKKCList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmDJBCKKCList.TBCloseClick(Sender: TObject); begin WriteCxGrid('待检布库存列表', Tv1, '待检布仓库'); Close; end; procedure TfrmDJBCKKCList.FormShow(Sender: TObject); begin inherited; ReadCxGrid('待检布库存列表', Tv1, '待检布仓库'); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 30; //InitGrid(); end; procedure TfrmDJBCKKCList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmDJBCKKCList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmDJBCKKCList.ToolButton1Click(Sender: TObject); begin ModalResult := 1; end; procedure TfrmDJBCKKCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmDJBCKKCList.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('待检布库存', cxGrid2); end; procedure TfrmDJBCKKCList.ToolButton3Click(Sender: TObject); var fPrintFile: string; Porderno, LBName, SYRName: string; i, j: Integer; OrderKg: Double; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\待检布库存列表.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); // RMVariables['SYRName']:=Trim(SYRName); RM1.ShowReport; end else begin Application.MessageBox(PChar(fPrintFile), '提示', 0); end; end; procedure TfrmDJBCKKCList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := AViewInfo.Bounds; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin ACanvas.FillRect(FBounds); ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux. ACanvas.Font.Color := clBlack; ACanvas.Brush.Style := bsClear; ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; end.