unit U_JYOrderCDMore; 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, MovePanel; type TfrmJYOrderCDMore = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; Panel4: TPanel; Label11: TLabel; Panel10: TPanel; Image2: TImage; RichEdit1: TRichEdit; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; RadioGroup1: TRadioGroup; cxTabControl1: TcxTabControl; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column3: TcxGridDBColumn; Label3: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; OrderNo: TEdit; MPRTMF: TEdit; PRTColor: TEdit; MPRTKZ: TEdit; gangno: TEdit; MPRTCodeName: TEdit; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; MovePanel2: TMovePanel; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure AOrdDefNote4Change(Sender: TObject); procedure FormShow(Sender: TObject); procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Image2Click(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure RadioGroup1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); private DQdate:TDateTime; FLeft,FTop:Integer; procedure InitGrid(); procedure InitGrid10(); procedure InitForm(); { Private declarations } public FFInt:Integer; { Public declarations } end; var frmJYOrderCDMore: TfrmJYOrderCDMore; implementation uses U_DataLink,U_OrderInPut,U_Fun; {$R *.dfm} procedure TfrmJYOrderCDMore.FormDestroy(Sender: TObject); begin frmJYOrderCDMore:=nil; end; procedure TfrmJYOrderCDMore.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJYOrderCDMore.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; DQdate:=SGetServerDate(ADOQueryTemp); end; procedure TfrmJYOrderCDMore.TBCloseClick(Sender: TObject); begin Close; //WriteCxGrid('检验报告J',Tv1,'染厂检验管理'); end; procedure TfrmJYOrderCDMore.InitGrid(); var i:integer; j,z:Integer; begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec P_JYOrder_HZFX :begdate,:enddate,:PState,:FFsql '); Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); if cxTabControl1.TabIndex=0 then Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+1 else Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+4; Parameters.ParamByName('FFsql').Value:=''; Open; end; SCreateCDSOnly(ADOQueryMain,Order_Main); SInitCDSDataOnly(ADOQueryMain,Order_Main); for i:=18 to Order_Main.FieldCount-1 do begin if Tv1.ColumnCount>i then begin end else Tv1.CreateColumn; Tv1.Columns[i].Width:=68; Tv1.Columns[i].DataBinding.FieldName:=Order_Main.Fields[i].FieldName; Tv1.Columns[i].Caption:=Trim(Order_Main.Fields[i].FieldName); tv1.Columns[i].Summary.FooterKind:=skSum; end; finally ADOQueryMain.EnableControls; end; end; procedure TfrmJYOrderCDMore.InitGrid10(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec P_JYOrder_HZFX :begdate,:enddate,:PState '); Parameters.ParamByName('begdate').Value:='2012-01-01'; Parameters.ParamByName('enddate').Value:='2011-01-01'; Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+1; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmJYOrderCDMore.InitForm(); begin if SGetServerDate(ADOQueryTemp)>StrToDate('2014-07-11') then begin ToolBar1.Visible:=False; Application.MessageBox('软件需要升级,请联系供应商!','提示',0); Exit; end; InitGrid(); BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); end; procedure TfrmJYOrderCDMore.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmJYOrderCDMore.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; if RadioGroup1.ItemIndex=0 then SelExportData(Tv1,ADOQueryMain,'检验分析订单') else if RadioGroup1.ItemIndex=1 then SelExportData(Tv1,ADOQueryMain,'检验分析生产单'); end; procedure TfrmJYOrderCDMore.TBRafreshClick(Sender: TObject); begin MovePanel2.Visible:=True; MovePanel2.Refresh; InitGrid(); MovePanel2.Visible:=False; end; procedure TfrmJYOrderCDMore.AOrdDefNote4Change(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFiltersHint(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmJYOrderCDMore.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmJYOrderCDMore.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); end; procedure TfrmJYOrderCDMore.Image2Click(Sender: TObject); begin Panel4.Visible:=False; end; procedure TfrmJYOrderCDMore.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft:=X; FTop:=Y; end; procedure TfrmJYOrderCDMore.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin {Panel4.Left:=FLeft; Panel4.Top:=FTop+110; Panel4.Visible:=True; Panel4.Refresh; Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); RichEdit1.Text:=Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; } end; procedure TfrmJYOrderCDMore.RadioGroup1Click(Sender: TObject); begin if RadioGroup1.ItemIndex=0 then begin GangNo.Text:=''; GangNo.ReadOnly:=True; v1Column2.Visible:=False; end else begin GangNo.ReadOnly:=False; v1Column2.Visible:=True; end; TBRafresh.Click; end; procedure TfrmJYOrderCDMore.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; if cxTabControl1.TabIndex=0 then v1Column9.Caption:='疵点数量' else v1Column9.Caption:='疵点个数'; end; procedure TfrmJYOrderCDMore.OrderNoKeyPress(Sender: TObject; var Key: Char); var i:Integer; begin if Key=#13 then begin if Length(Trim(OrderNo.Text))<4 then Exit; MovePanel2.Visible:=True; MovePanel2.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec P_JYOrder_HZFX :begdate,:enddate,:PState,:FFsql '); Parameters.ParamByName('begdate').Value:='2010-01-01'; Parameters.ParamByName('enddate').Value:='2050-01-01'; if cxTabControl1.TabIndex=0 then begin Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+1; Parameters.ParamByName('FFSql').Value:=' where C.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''; end else begin Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+4; Parameters.ParamByName('FFSql').Value:=' where C.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''; end; Open; end; SCreateCDSOnly(ADOQueryMain,Order_Main); SInitCDSDataOnly(ADOQueryMain,Order_Main); for i:=18 to Order_Main.FieldCount-1 do begin if Tv1.ColumnCount>i then begin end else Tv1.CreateColumn; Tv1.Columns[i].Width:=68; Tv1.Columns[i].DataBinding.FieldName:=Order_Main.Fields[i].FieldName; Tv1.Columns[i].Caption:=Trim(Order_Main.Fields[i].FieldName); tv1.Columns[i].Summary.FooterKind:=skSum; end; finally ADOQueryMain.EnableControls; end; MovePanel2.Visible:=False; end; end; end.