unit U_frmSysZsdLogOrder; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, strUtils, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, StdCtrls, ExtCtrls, ImgList, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxGridCustomPopupMenu, cxGridPopupMenu; type TfrmSysZsdLogOrder = class(TForm) ToolBar1: TToolBar; TQry: TToolButton; Tclose: TToolButton; ADOQueryLog: TADOQuery; DataSource1: TDataSource; ADOConnection1: TADOConnection; cxGrid1: TcxGrid; tv1: TcxGridDBTableView; tv1OperMan: TcxGridDBColumn; tv1jopertime: TcxGridDBColumn; tv1Model: TcxGridDBColumn; tv1acction: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; tv1Opevent: TcxGridDBColumn; tv1Result: TcxGridDBColumn; Panel1: TPanel; Label2: TLabel; Label1: TLabel; begDate: TDateTimePicker; endDate: TDateTimePicker; Label3: TLabel; edt_model: TEdit; CheckBox1: TCheckBox; Label4: TLabel; edt_nr: TEdit; ThreeImgList: TImageList; cxGridPopupMenu1: TcxGridPopupMenu; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; procedure TcloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure TQryClick(Sender: TObject); procedure edt_modelChange(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private procedure DoQuery(); procedure DoFilter(); public fModel, facction: string; fOtherWhere: string; FMainid: string; end; var frmSysZsdLogOrder: TfrmSysZsdLogOrder; implementation uses U_DataLink; {$R *.dfm} procedure TfrmSysZsdLogOrder.TcloseClick(Sender: TObject); begin close; end; procedure TfrmSysZsdLogOrder.FormCreate(Sender: TObject); begin cxGrid1.Align := alClient; begDate.DateTime := date - 31; endDate.DateTime := date; with ADOConnection1 do begin Connected := false; ConnectionString := DConString; Connected := true; end; end; ///////////////////////////////////////////////////////// // //////////////////////////////////////////////////////// procedure TfrmSysZsdLogOrder.DoQuery(); var mbegdate, menddate: string; begin mbegdate := formatDatetime('yyyy-MM-dd', begDate.Date); // menddate := formatDatetime('yyyy-MM-dd', endDate.Date + 1); try with ADOQueryLog do begin close; sql.clear; filtered := false; sql.add('select A.* '); sql.add('from SY_sysLog A'); if CheckBox1.Checked then begin sql.Add('where OperTime>=' + quotedStr(mbegdate)); sql.Add('and OperTime<' + quotedStr(menddate)); end else begin sql.Add('where 1=1'); end; // sql.Add(' and isnull(Mainid,'''')='''+Trim(FMainid)+''' and isnull(Mainid,'''')<>'''' '); // if trim(facction)<>'' then // sql.add('and acction='+quotedStr(facction)); sql.add('and acction like ''ΦΈΚΎ΅₯%'' '); if trim(fOtherWhere) <> '' then begin sql.add(fOtherWhere); end; sql.Add('order by operOr,Opertime'); // ShowMessage(SQL.Text); Open; end; finally end; end; /////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// procedure TfrmSysZsdLogOrder.DoFilter(); var filterStr: string; begin filterStr := ''; // if trim(edt_model.text) <> '' then begin filterStr := ' and model =' + quotedStr(trim(edt_model.text)); end; if trim(edt_nr.text) <> '' then begin filterStr := ' and OpEvent like ' + quotedStr('%' + trim(edt_nr.text) + '%'); end; try ADOQueryLog.DisableControls; if trim(filterStr) = '' then begin ADOQueryLog.Filtered := false; exit; end; filterStr := trim(RightBStr(filterStr, length(filterStr) - 4)); with ADOQueryLog do begin filtered := false; filter := filterStr; filtered := true; end; finally ADOQueryLog.EnableControls; end; end; procedure TfrmSysZsdLogOrder.FormShow(Sender: TObject); begin DoQuery(); end; procedure TfrmSysZsdLogOrder.TQryClick(Sender: TObject); begin DoQuery(); end; procedure TfrmSysZsdLogOrder.edt_modelChange(Sender: TObject); begin DoFilter(); end; procedure TfrmSysZsdLogOrder.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := cafree; end; end.