unit U_DyeFormulaSampleList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, cxCheckBox, cxCurrencyEdit, BtnEdit, cxContainer, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, ADODB, cxMaskEdit, cxDropDownEdit, Menus, cxLookAndFeelPainters, cxButtons, DBClient, cxButtonEdit, cxLookAndFeels, cxNavigator, RM_System, RM_Dataset, RM_Common, RM_Class, RM_GridReport, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList, RM_BarCode, dxBarBuiltInMenu, cxGridCustomPopupMenu, cxGridPopupMenu; type TfrmDyeFormulaSampleList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBADD: TToolButton; TBedit: TToolButton; TBdel: TToolButton; TBexcpet: TToolButton; TBclose: TToolButton; Panel5: TPanel; Label1: TLabel; Label3: TLabel; Label4: TLabel; Label6: TLabel; Label5: TLabel; Label10: TLabel; Label11: TLabel; begdate: TDateTimePicker; C_ColorNo: TEdit; enddate: TDateTimePicker; C_Color: TEdit; custName: TEdit; C_Code: TEdit; cbDept: TComboBox; cxgrid1: TcxGrid; TV1: TcxGridDBTableView; TV1RcvDate: TcxGridDBColumn; TV1ShortName: TcxGridDBColumn; TV1GreyCons: TcxGridDBColumn; TV1Lights: TcxGridDBColumn; TV1Remark: TcxGridDBColumn; TV1SplType: TcxGridDBColumn; TV1DlvDate: TcxGridDBColumn; TV1FillorName: TcxGridDBColumn; TV1YWYName: TcxGridDBColumn; TV1CuSplCode: TcxGridDBColumn; TV1Request: TcxGridDBColumn; cxgrid1L1: TcxGridLevel; DS_Main: TDataSource; V1Column1: TcxGridDBColumn; V1Column2: TcxGridDBColumn; V1Column3: TcxGridDBColumn; V1Column4: TcxGridDBColumn; V1Column5: TcxGridDBColumn; V1Column8: TcxGridDBColumn; V1Column9: TcxGridDBColumn; TBFind: TToolButton; CDS_Main: TClientDataSet; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; ToolButton3: TToolButton; ADO_Print: TADOQuery; TV1Column3: TcxGridDBColumn; ToolButton1: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TBADDClick(Sender: TObject); procedure TBeditClick(Sender: TObject); procedure TBdelClick(Sender: TObject); procedure TBcloseClick(Sender: TObject); procedure TBexcpetClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBFindClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure TV1Column3PropertiesEditValueChanged(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private procedure InitGrid(); public { Public declarations } end; var frmDyeFormulaSampleList: TfrmDyeFormulaSampleList; implementation uses U_DataLink, U_RTFun, U_DyeFormulaSampleInput, U_LabelPrint; {$R *.dfm} procedure TfrmDyeFormulaSampleList.InitGrid(); begin with ADOQueryMain do begin close; Filtered := False; sql.Clear; sql.Add('select * '); sql.Add('from Dye_Formula_Sample_Sub A '); sql.Add('inner join Dye_Formula_Sample_Main B on B.DFSMID=A.DFSMID'); sql.Add('where Filltime>=''' + formatdateTime('yyyy-MM-dd', begdate.dateTime) + ''' '); sql.Add('and Filltime<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' '); open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; procedure TfrmDyeFormulaSampleList.FormCreate(Sender: TObject); begin inherited; enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := enddate.DateTime - 30; end; procedure TfrmDyeFormulaSampleList.FormDestroy(Sender: TObject); begin inherited; frmDyeFormulaSampleList := nil; end; procedure TfrmDyeFormulaSampleList.TBADDClick(Sender: TObject); begin frmDyeFormulaSampleInput := TfrmDyeFormulaSampleInput.create(self); with frmDyeFormulaSampleInput do begin FDFSMID := ''; if showmodal = 1 then begin end; free; end; end; procedure TfrmDyeFormulaSampleList.TBeditClick(Sender: TObject); begin frmDyeFormulaSampleInput := TfrmDyeFormulaSampleInput.create(self); with frmDyeFormulaSampleInput do begin FDFSMID := trim(CDS_Main.fieldbyName('DFSMID').AsString); if showmodal = 1 then begin end; free; end; end; procedure TfrmDyeFormulaSampleList.TBdelClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with AdoqueryCmd do begin close; sql.Clear; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Dye_Formula_Sample_Main set DelId=' + quotedstr(DCode) + ',Deler=' + quotedstr(DName) + ',Deltime=getdate() where DFSMID=' + quotedstr(trim(CDS_Main.fieldByName('DFSMID').AsString))); sql.Add('insert into Dye_Formula_Sample_Main_Del select * from Dye_Formula_Sample_Main where DFSMID=' + quotedstr(trim(CDS_Main.fieldByName('DFSMID').AsString))); sql.Add('delete Dye_Formula_Sample_Main where DFSMID=' + quotedstr(trim(CDS_Main.fieldByName('DFSMID').AsString))); sql.Add('update Dye_Formula_Sample_Sub set DelId=' + quotedstr(DCode) + ',Deler=' + quotedstr(DName) + ',Deltime=getdate() where DFSMID=' + quotedstr(trim(CDS_Main.fieldByName('DFSMID').AsString))); sql.Add('insert into Dye_Formula_Sample_Sub_Del select * from Dye_Formula_Sample_Sub where DFSMID=' + quotedstr(trim(CDS_Main.fieldByName('DFSMID').AsString))); sql.Add('delete Dye_Formula_Sample_Sub where DFSMID=' + quotedstr(trim(CDS_Main.fieldByName('DFSMID').AsString))); execsql; end; execsql; end; initgrid(); except application.MessageBox('删除失败!', '提示信息', 0); end; end; procedure TfrmDyeFormulaSampleList.TBcloseClick(Sender: TObject); begin close; end; procedure TfrmDyeFormulaSampleList.TBexcpetClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmDyeFormulaSampleList.FormShow(Sender: TObject); begin inherited; readCxGrid(self.Caption + tv1.Name, Tv1, '小样配方'); InitGrid(); end; procedure TfrmDyeFormulaSampleList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDyeFormulaSampleList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := cafree; end; procedure TfrmDyeFormulaSampleList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; //showessage(SGetFilters(Panel5,1,2)); SDofilter(ADOQueryMain, SGetFilters(Panel5, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; procedure TfrmDyeFormulaSampleList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(self.Caption + tv1.Name, Tv1, '小样配方'); end; procedure TfrmDyeFormulaSampleList.ToolButton3Click(Sender: TObject); var WSql: string; begin if CDS_Main.IsEmpty then Exit; WSql := QuotedStr(Trim(CDS_Main.fieldbyname('DFSMID').AsString)); try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'DyeFormulaSample'; FFiltration1 := WSql; if ShowModal = 1 then begin end; end; finally frmLabelPrint.Free; end; end; procedure TfrmDyeFormulaSampleList.TV1Column3PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; with CDS_Main do begin Edit; FieldByName('PH').Value := Trim(mvalue); Post; end; try with AdoqueryCmd do begin close; sql.Clear; sql.Add('update Dye_Formula_Sample_Sub SET PH=''' + trim(mvalue) + ''' where DFSMID=''' + trim(CDS_main.fieldbyName('DFSMID').AsString) + ''''); sql.Add('and fsNo=''' + trim(CDS_main.fieldbyName('fsNo').AsString) + ''''); execsql; end; except end; self.tv1.Controller.EditingController.ShowEdit(); end; end.