📄 teacherfindformunit.pas
字号:
unit TeacherFindFormUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DB, ADODB;
type
TTeacherFindForm = class(TForm)
Panel1: TPanel;
btnFind: TBitBtn;
BitBtn7: TBitBtn;
Label1: TLabel;
edttno: TEdit;
cbxbool2: TComboBox;
Label3: TLabel;
cbxpost2: TComboBox;
Label4: TLabel;
edttname2: TEdit;
Label2: TLabel;
Panel2: TPanel;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
procedure BitBtn7Click(Sender: TObject);
procedure btnFindClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
{ Private declarations }
public
{ Public declarations }
end;
TControlAccess = class(TControl);
var
TeacherFindForm: TTeacherFindForm;
implementation
uses DataModul, public_unit;
{$R *.dfm}
procedure TTeacherFindForm.BitBtn7Click(Sender: TObject);
begin
close;
end;
procedure TTeacherFindForm.btnFindClick(Sender: TObject);
var
sqlStr: string;
begin
sqlStr :=' select * from TTeacher WHERE 1=1';
if edttname2.Text <> '' then
sqlStr := sqlstr+ ' AND tname like ''%' + edttname2.Text + '%''';
if edttno.Text <> '' then
sqlStr := sqlstr+ ' AND tno ='+ QuotedStr(edttno.Text);
if cbxpost2.ItemIndex <> 0 then
sqlStr := sqlStr + ' AND tpost=' + QuotedStr(cbxpost2.Text);
if cbxbool2.ItemIndex <> 0 then
sqlStr := sqlStr + ' AND tbool=' + QuotedStr(cbxbool2.Text);
with adoquery1 do
begin
Sql.Text := sqlStr;
Open;
end;
edttname2.Text:='';
edttno.Text:='';
cbxpost2.ItemIndex:=0;
cbxbool2.ItemIndex:=0;
end;
procedure TTeacherFindForm.FormShow(Sender: TObject);
begin
adoquery1.Open;
GetFieldsToCombox('002', cbxpost2, DM.ADOConnection1); //职务
end;
procedure TTeacherFindForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then Exit; //隔行改变网格背景色:
if adoquery1.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clinfobk //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//定义网格线的颜色:
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do //画 cell 的边框
begin
Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
MoveTo(Rect.Left, Rect.Bottom); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
Pen.Color := clbtnface; //定义画笔颜色(兰色)
MoveTo(Rect.Right, Rect.Top); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画绿色
end;
end;
procedure TTeacherFindForm.FormCreate(Sender: TObject);
begin
TControlAccess(DBGrid1).OnMouseWheel := GridMouseWheel;
end;
procedure TTeacherFindForm.GridMouseWheel(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
var Handled: Boolean);
begin
TDBGrid(Sender).DataSource.DataSet.MoveBy(-WheelDelta div WHEEL_DELTA);
Handled := True;
end;
procedure TTeacherFindForm.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
with adoquery1 do
begin
edttno.Text := fieldByName('tno').AsString;
edttname2.Text := fieldByName('tname').AsString;
cbxpost2.ItemIndex := cbxpost2.Items.IndexOf(fieldByname('tpost').AsString);
cbxbool2.ItemIndex := cbxbool2.Items.IndexOf(fieldByname('tbool').AsString);
end;
end;
procedure TTeacherFindForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adoquery1.Close;
Action := caFree;
TeacherFindForm := nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -