unit frmSCJLViewCode;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, frmMDIBasicCode, ExtCtrls, TB2Item, TB2Dock, TB2Toolbar, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls;type TfrmSCJLView = class(TfrmMdiBasic) adoQ: TADOQuery; ds: TDataSource; dgView: TDBGrid; TBSeparatorItem2: TTBSeparatorItem; gpxBottom: TGroupBox; Label1: TLabel; Label2: TLabel; panTop: TPanel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; dtpS: TDateTimePicker; dtpE: TDateTimePicker; txtDeptName: TEdit; txtAreaName: TEdit; txtAreaID: TEdit; txtDeptID: TEdit; labInfo: TLabel; TBSeparatorItem3: TTBSeparatorItem; txtFilter: TEdit; Label7: TLabel; procedure rbtnSaveClick(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure txtAreaNameDblClick(Sender: TObject); procedure txtDeptNameDblClick(Sender: TObject); procedure rbtnReFreshClick(Sender: TObject); procedure rbtnDelClick(Sender: TObject); procedure adoQAfterScroll(DataSet: TDataSet); procedure txtFilterChange(Sender: TObject); procedure rbtnAddClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure dgViewTitleClick(Column: TColumn); procedure dgViewDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure btnFilterClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var frmSCJLView: TfrmSCJLView;implementation{$R *.dfm} uses squirrelcode;procedure TfrmSCJLView.adoQAfterScroll(DataSet: TDataSet); begin labinfo.Caption:=inttostr(adoq.RecNo)+'/'+inttostr(adoq.Recordset.RecordCount); end;procedure TfrmSCJLView.btnFilterClick(Sender: TObject); var strSql:string; begin strSql:='select * from T_JXC_SCJL where DoDate between '''+datetimetostr(dtps.Date)+''' and '''+datetimetostr(dtpe.DateTime)+''' and deptid like ''%'+txtdeptid.Text+'%'' and areaid like ''%'+txtareaid.Text+'%'''; with adoq do begin close; sql.Clear; sql.Add(strSql); open; end; //权限判断 if Not SetFormRbtn(self.Name,'') then begin msgboxb('权限设置失败,请联系系统管理员!'); frmSCJLView.Close; end; end;procedure TfrmSCJLView.dgViewDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if adoq.RecNo mod 2 = 0 then (Sender as TDBGrid).Canvas.Brush.Color := clInfoBk //定义背景颜色 else (Sender as TDBGrid).Canvas.Brush.Color := clWindow; //定义背景颜色 if not adoq.Fieldbyname('Commint').AsBoolean then (Sender as TDBGrid).Canvas.Font.Color:=clRed else (Sender as TDBGrid).Canvas.Font.Color:=clGreen;
(Sender as TDBGrid).DefaultDrawColumnCell(Rect,DataCol,Column,State); end;procedure TfrmSCJLView.dgViewTitleClick(Column: TColumn); //排序 var SortString:String; begin if Column.DropDownRows=7 then begin SortString:= Column.FieldName+ ' ASC'; Column.DropDownRows:=6; end else begin SortString:= Column.FieldName+ ' DESC'; Column.DropDownRows:=7; end; TADODataSet(DGview.DataSource.DataSet).Sort:=SortString; end;procedure TfrmSCJLView.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; frmSCJLView:=nil; end;procedure TfrmSCJLView.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin // inherited; if GMBCheckForm('frmSCJL') then begin msgboxb('窗体生产数据打开,不能关闭本窗体'); CanClose:=false; end else CanClose:=true;end;procedure TfrmSCJLView.FormCreate(Sender: TObject); begin dtps.Date:=Trunc(now)-7; dtpe.Date:=Trunc(now); btnFilterClick(self); end;procedure TfrmSCJLView.rbtnAddClick(Sender: TObject); begin GMBFormCreate('frmSCJL'); end;procedure TfrmSCJLView.rbtnDelClick(Sender: TObject); begin if adoq.FieldByName('NBID').AsString='' then exit; GMBOpenFormDoc('frmSCJL',adoq.FieldByName('NBID').AsString); end;procedure TfrmSCJLView.rbtnReFreshClick(Sender: TObject); begin btnFilterClick(self); end;procedure TfrmSCJLView.rbtnSaveClick(Sender: TObject); begin frmSCJLView.adoQ.Next; end;procedure TfrmSCJLView.txtAreaNameDblClick(Sender: TObject); var AreaInfo:tAreaInfo; begin AreaInfo.strAreaID:=txtAreaID.Text; AreaInfo.strAreaName:=txtAreaName.text; AreaInfo:=GetAreaInfo(AreaInfo); txtAreaID.Text:=AreaInfo.strAreaID; txtAreaName.text:=AreaInfo.strAreaName; btnFilterClick(Self); end;procedure TfrmSCJLView.txtDeptNameDblClick(Sender: TObject); var DeptInfo:tDeptInfo; begin DeptInfo.strDeptID:=txtDeptID.Text; DeptInfo.strDeptName:=txtDeptName.text; DeptInfo:=GetDeptInfo(DeptInfo); txtDeptID.Text:=DeptInfo.strDeptID; txtDeptName.text:=DeptInfo.strDeptName; btnFilterClick(Self); end;procedure TfrmSCJLView.txtFilterChange(Sender: TObject); begin if txtfilter.Text ='' then begin adoq.Filtered:=false; end else begin adoq.Filtered:=false; adoq.Filter:='nbid like '''+txtfilter.Text+'%'' or username like ''%'+txtfilter.Text+'%'' or userID like ''%'+txtfilter.Text+'%'''; adoq.Filtered:=true; end; end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frmMDIBasicCode, ExtCtrls, TB2Item, TB2Dock, TB2Toolbar, Grids,
DBGrids, DB, ADODB, StdCtrls, ComCtrls;type
TfrmSCJLView = class(TfrmMdiBasic)
adoQ: TADOQuery;
ds: TDataSource;
dgView: TDBGrid;
TBSeparatorItem2: TTBSeparatorItem;
gpxBottom: TGroupBox;
Label1: TLabel;
Label2: TLabel;
panTop: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
dtpS: TDateTimePicker;
dtpE: TDateTimePicker;
txtDeptName: TEdit;
txtAreaName: TEdit;
txtAreaID: TEdit;
txtDeptID: TEdit;
labInfo: TLabel;
TBSeparatorItem3: TTBSeparatorItem;
txtFilter: TEdit;
Label7: TLabel;
procedure rbtnSaveClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure txtAreaNameDblClick(Sender: TObject);
procedure txtDeptNameDblClick(Sender: TObject);
procedure rbtnReFreshClick(Sender: TObject);
procedure rbtnDelClick(Sender: TObject);
procedure adoQAfterScroll(DataSet: TDataSet);
procedure txtFilterChange(Sender: TObject);
procedure rbtnAddClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure dgViewTitleClick(Column: TColumn);
procedure dgViewDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure btnFilterClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
frmSCJLView: TfrmSCJLView;implementation{$R *.dfm}
uses squirrelcode;procedure TfrmSCJLView.adoQAfterScroll(DataSet: TDataSet);
begin
labinfo.Caption:=inttostr(adoq.RecNo)+'/'+inttostr(adoq.Recordset.RecordCount);
end;procedure TfrmSCJLView.btnFilterClick(Sender: TObject);
var
strSql:string;
begin
strSql:='select * from T_JXC_SCJL where DoDate between '''+datetimetostr(dtps.Date)+''' and '''+datetimetostr(dtpe.DateTime)+''' and deptid like ''%'+txtdeptid.Text+'%'' and areaid like ''%'+txtareaid.Text+'%''';
with adoq do
begin
close;
sql.Clear;
sql.Add(strSql);
open;
end;
//权限判断
if Not SetFormRbtn(self.Name,'') then
begin
msgboxb('权限设置失败,请联系系统管理员!');
frmSCJLView.Close;
end;
end;procedure TfrmSCJLView.dgViewDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if adoq.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clInfoBk //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := clWindow; //定义背景颜色
if not adoq.Fieldbyname('Commint').AsBoolean then
(Sender as TDBGrid).Canvas.Font.Color:=clRed
else (Sender as TDBGrid).Canvas.Font.Color:=clGreen;
(Sender as TDBGrid).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;procedure TfrmSCJLView.dgViewTitleClick(Column: TColumn);
//排序
var
SortString:String;
begin
if Column.DropDownRows=7 then
begin
SortString:= Column.FieldName+ ' ASC';
Column.DropDownRows:=6;
end
else
begin
SortString:= Column.FieldName+ ' DESC';
Column.DropDownRows:=7;
end;
TADODataSet(DGview.DataSource.DataSet).Sort:=SortString;
end;procedure TfrmSCJLView.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
frmSCJLView:=nil;
end;procedure TfrmSCJLView.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
// inherited;
if GMBCheckForm('frmSCJL') then
begin
msgboxb('窗体生产数据打开,不能关闭本窗体');
CanClose:=false;
end
else CanClose:=true;end;procedure TfrmSCJLView.FormCreate(Sender: TObject);
begin
dtps.Date:=Trunc(now)-7;
dtpe.Date:=Trunc(now);
btnFilterClick(self);
end;procedure TfrmSCJLView.rbtnAddClick(Sender: TObject);
begin
GMBFormCreate('frmSCJL');
end;procedure TfrmSCJLView.rbtnDelClick(Sender: TObject);
begin
if adoq.FieldByName('NBID').AsString='' then exit;
GMBOpenFormDoc('frmSCJL',adoq.FieldByName('NBID').AsString);
end;procedure TfrmSCJLView.rbtnReFreshClick(Sender: TObject);
begin
btnFilterClick(self);
end;procedure TfrmSCJLView.rbtnSaveClick(Sender: TObject);
begin
frmSCJLView.adoQ.Next;
end;procedure TfrmSCJLView.txtAreaNameDblClick(Sender: TObject);
var
AreaInfo:tAreaInfo;
begin
AreaInfo.strAreaID:=txtAreaID.Text;
AreaInfo.strAreaName:=txtAreaName.text;
AreaInfo:=GetAreaInfo(AreaInfo);
txtAreaID.Text:=AreaInfo.strAreaID;
txtAreaName.text:=AreaInfo.strAreaName; btnFilterClick(Self);
end;procedure TfrmSCJLView.txtDeptNameDblClick(Sender: TObject);
var
DeptInfo:tDeptInfo;
begin
DeptInfo.strDeptID:=txtDeptID.Text;
DeptInfo.strDeptName:=txtDeptName.text;
DeptInfo:=GetDeptInfo(DeptInfo);
txtDeptID.Text:=DeptInfo.strDeptID;
txtDeptName.text:=DeptInfo.strDeptName; btnFilterClick(Self);
end;procedure TfrmSCJLView.txtFilterChange(Sender: TObject);
begin
if txtfilter.Text ='' then
begin
adoq.Filtered:=false;
end
else
begin
adoq.Filtered:=false;
adoq.Filter:='nbid like '''+txtfilter.Text+'%'' or username like ''%'+txtfilter.Text+'%'' or userID like ''%'+txtfilter.Text+'%''';
adoq.Filtered:=true;
end;
end;end.