unit U_KnitDRQuickSel; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit, cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseHelp, dxDateRanges, U_BaseList, System.ImageList, Vcl.ImgList; type TfrmKnitDRQuickSel = class(TfrmBaseHelp) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; v1OrdDate: TcxGridDBColumn; Order_Main: TClientDataSet; Panel1: TPanel; Label4: TLabel; Label8: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ToCoName: TEdit; MPRTCodeName: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; cxTabControl1: TcxTabControl; v1Column8: TcxGridDBColumn; Label2: TLabel; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column27: TcxGridDBColumn; CheckBox1: TCheckBox; ToolButton6: TToolButton; Label1: TLabel; ToolButton1: TToolButton; ToolButton2: TToolButton; Tv1Column1: TcxGridDBColumn; //RMllPDFExport1: TRMllPDFExport; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToCoNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure v1Column7PropertiesEditValueChanged(Sender: TObject); procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Tv1DblClick(Sender: TObject); private procedure InitGrid(); { Private declarations } public FFInt: Integer; canshu1, canshu2: string; { Public declarations } end; var frmKnitDRQuickSel: TfrmKnitDRQuickSel; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_KnitDRQuickInPut; {$R *.dfm} procedure TfrmKnitDRQuickSel.FormDestroy(Sender: TObject); begin inherited; //frmFHSQList:=nil; end; procedure TfrmKnitDRQuickSel.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmKnitDRQuickSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmKnitDRQuickSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; Sql.Add(' select A.* '); sql.Add(' from Knit_Cloth_DR_Main A where 1=1'); if CheckBox1.Checked then begin sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); end; case cxTabControl1.TabIndex of 0: begin SQL.Add(' and isnull(A.status,''0'')=''0'' '); end; 1: begin SQL.Add(' and isnull(A.status,''0'')=''9'' '); end; 2: begin SQL.Add(' and isnull(A.status,''0'')=''10'' '); end; end; sql.Add(' order by Filltime desc '); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; TV1.DataController.Filter.Clear; end; end; procedure TfrmKnitDRQuickSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmKnitDRQuickSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKnitDRQuickSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理'); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 3; InitGrid(); end; procedure TfrmKnitDRQuickSel.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmKnitDRQuickSel.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmKnitDRQuickSel.ToCoNameChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmKnitDRQuickSel.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmKnitDRQuickSel.ToolButton1Click(Sender: TObject); begin ModalResult := 1; end; procedure TfrmKnitDRQuickSel.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_Fin_Flow_Judge '); Sql.Add(' @FFIDS=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; try frmKnitDRQuickInPut := TfrmKnitDRQuickInPut.Create(Application); with frmKnitDRQuickInPut do begin PState := 1; FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString); if ShowModal = 1 then begin InitGrid(); end; end; finally frmKnitDRQuickInPut.Free; end; end; procedure TfrmKnitDRQuickSel.ToolButton6Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理'); end; procedure TfrmKnitDRQuickSel.Tv1Column9PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if mvalue = '' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_Cloth_DR_Main set ' + FFieldName + '=' + 'NULL'); sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; end else begin with Order_Main do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmKnitDRQuickSel.Tv1DblClick(Sender: TObject); begin ToolButton1.Click; end; procedure TfrmKnitDRQuickSel.v1Column7PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with Order_Main do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; end.