unit U_CHDDLISTMX; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxDBLookupComboBox, cxGridBandedTableView, cxGridDBBandedTableView, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, U_BaseHelp, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, System.ImageList, Vcl.ImgList, U_BaseList, RM_e_Xls; type TfrmDDCHLISTMX = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ToolButton1: TToolButton; RM1: TRMGridReport; RMDBHZ: TRMDBDataSet; Label3: TLabel; MPRTCodeName: TEdit; cxGridPopupMenu2: TcxGridPopupMenu; Label1: TLabel; MPRTCode: TEdit; EndDate: TDateTimePicker; Label4: TLabel; Label5: TLabel; Begdate: TDateTimePicker; cxGrid1: TcxGrid; TV1: TcxGridDBBandedTableView; cxGridDBBandedColumn35: TcxGridDBBandedColumn; cxGridDBBandedColumn42: TcxGridDBBandedColumn; cxGridDBBandedColumn62: TcxGridDBBandedColumn; cxGridDBBandedColumn64: TcxGridDBBandedColumn; cxGridLevel2: TcxGridLevel; V1Column26: TcxGridDBBandedColumn; V1Column27: TcxGridDBBandedColumn; Label2: TLabel; OrderNo: TEdit; V1Column7: TcxGridDBBandedColumn; Label6: TLabel; ConNo: TEdit; CDSPRTHZ: TClientDataSet; CDSPRTMX: TClientDataSet; RMDBMX: TRMDBDataSet; ADOQueryMain: TADOQuery; DataSource1: TDataSource; CDS_HZ: TClientDataSet; TV1Column4: TcxGridDBBandedColumn; TV1Column5: TcxGridDBBandedColumn; TV1Column6: TcxGridDBBandedColumn; TV1Column9: TcxGridDBBandedColumn; TV1Column14: TcxGridDBBandedColumn; Label7: TLabel; PRTKUANNO: TEdit; TV1Column15: TcxGridDBBandedColumn; TV1Column1: TcxGridDBBandedColumn; TV1Column2: TcxGridDBBandedColumn; TV1Column3: TcxGridDBBandedColumn; ToolButton3: TToolButton; ADOQueryPrint: TADOQuery; RMXLSExport1: TRMXLSExport; TV1Column7: TcxGridDBBandedColumn; TV1Column8: TcxGridDBBandedColumn; TV1Column10: TcxGridDBBandedColumn; TV1Column11: TcxGridDBBandedColumn; TV1Column12: TcxGridDBBandedColumn; TV1Column13: TcxGridDBBandedColumn; TV1Column16: TcxGridDBBandedColumn; TV1Column17: TcxGridDBBandedColumn; TV1Column18: TcxGridDBBandedColumn; TV1Column19: TcxGridDBBandedColumn; TV1Column20: TcxGridDBBandedColumn; TV1Column21: TcxGridDBBandedColumn; TV1Column22: TcxGridDBBandedColumn; TV1Column23: TcxGridDBBandedColumn; TV1Column24: TcxGridDBBandedColumn; TV1Column25: TcxGridDBBandedColumn; TV1Column26: TcxGridDBBandedColumn; TV1Column27: TcxGridDBBandedColumn; TV1Column28: TcxGridDBBandedColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure V1Column9CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); procedure TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure cxGridDBBandedColumn64CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); procedure TV1Column6CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); procedure ToolButton3Click(Sender: TObject); private { Private declarations } canshu1: string; procedure InitGrid(); public fkhType: string; Fmanage: string; FMAINID: string; end; var frmDDCHLISTMX: TfrmDDCHLISTMX; implementation uses U_DataLink, U_RTFun, U_ZDYHelp; {$R *.dfm} procedure TfrmDDCHLISTMX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; sql.Add(' exec P_DD_CKLIST_MX @MAINID=' + QUOTEDSTR(TRIM(FMAINID))); Open; end; SCreateCDS(ADOQueryMain, CDS_HZ); SInitCDSData(ADOQueryMain, CDS_HZ); // CDS_HZ.Last; finally ADOQueryMain.EnableControls; end; // cxGridDBBandedColumn79.Caption := CDS_HZ.fieldbyname('FHDAte').asstring; end; procedure TfrmDDCHLISTMX.FormDestroy(Sender: TObject); begin inherited; frmDDCHLISTmx := nil; end; procedure TfrmDDCHLISTMX.cxGridDBBandedColumn64CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); begin inherited; if (ARow1.Values[TV1Column2.Index] = ARow2.Values[TV1Column2.Index]) then AAreEqual := True else AAreEqual := False; end; procedure TfrmDDCHLISTMX.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDDCHLISTMX.TBCloseClick(Sender: TObject); begin WriteCxBandedGrid(trim(self.caption), Tv1, '进度管理77'); Close; end; procedure TfrmDDCHLISTMX.FormShow(Sender: TObject); begin inherited; ReadCxBandedGrid(trim(self.caption), Tv1, '进度管理77'); // InitGrid(); end; procedure TfrmDDCHLISTMX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDDCHLISTMX.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_HZ); SInitCDSData(ADOQueryMain, CDS_HZ); end; end; procedure TfrmDDCHLISTMX.ToolButton3Click(Sender: TObject); var fPrintFile: string; Porderno, LBName, SYRName: string; i, j: Integer; OrderKg: Double; begin if CDS_HZ.IsEmpty then Exit; LBName := '订单出货表'; ExportFtErpFile('订单出货表.rmf', ADOQueryTemp); with ADOQueryPrint do begin Close; sql.Clear; SQL.add('exec P_PRINT_DD_CKLIST @mainid=' + quotedstr(Trim(cds_hz.fieldbyname('MainId').AsString))); ShowMessage(sql.Text); Open; end; SCreateCDS(ADOQueryPrint, CDSPRTHZ); SInitCDSData(ADOQueryPrint, CDSPRTHZ); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'; if FileExists(fPrintFile) then begin RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); rm1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator]; RM1.LoadFromFile(fPrintFile); // RMVariables['SYRName'] := Trim(SYRName); // RMVariables['ZJGFACTORYNAME'] := Trim(ORDER_SUB.fieldbyname('ZJGFACTORYNAME').AsString); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'), '提示', 0); end; end; procedure TfrmDDCHLISTMX.TV1Column6CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); begin inherited; if (ARow1.Values[TV1Column1.Index] = ARow2.Values[TV1Column1.Index]) then AAreEqual := True else AAreEqual := False; end; procedure TfrmDDCHLISTMX.TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin inherited; // if (ARow1.Values[cxGridDBBandedColumn62.Index] = ARow2.Values[cxGridDBBandedColumn62.Index]) and (ARow1.Values[TV1Column6.Index] = ARow2.Values[TV1Column6.Index]) and (ARow1.Values[TV1Column5.Index] = ARow2.Values[TV1Column5.Index]) and (ARow1.Values[TV1Column15.Index] = ARow2.Values[TV1Column15.Index]) then // AAreEqual := True // else // AAreEqual := False; end; procedure TfrmDDCHLISTMX.V1Column9CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); begin inherited; if (ARow1.Values[TV1Column1.Index] = ARow2.Values[TV1Column1.Index]) then AAreEqual := True else AAreEqual := False; end; procedure TfrmDDCHLISTMX.MPRTCodeNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmDDCHLISTMX.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmDDCHLISTMX.FormCreate(Sender: TObject); begin inherited; canshu1 := Trim(DParameters1); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 90; end; end.