📄 scholarunit.pas
字号:
unit ScholarUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxLookAndFeelPainters, ADODB,
cxLabel, cxContainer, cxTextEdit, StdCtrls, ExtCtrls, cxButtons,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, Buttons;
type
TScholarForm = class(TForm)
cxGrid1: TcxGrid;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
Panel1: TPanel;
Label1: TLabel;
list_adoquery: TADOQuery;
DataSource1: TDataSource;
oper_adoquery: TADOQuery;
Scholar_edit: TEdit;
new_button: TBitBtn;
ok_button: TBitBtn;
cancel_button: TBitBtn;
del_button: TBitBtn;
close_button: TBitBtn;
cxGrid1DBTableView1Scholar: TcxGridDBColumn;
procedure close_buttonClick(Sender: TObject);
procedure new_buttonClick(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure cancel_buttonClick(Sender: TObject);
procedure del_buttonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ok_buttonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure clearContent;
procedure ButtonUse(CanUse:boolean);
procedure CloseWindow(var Msg:TMessage);message wm_user;
public
{ Public declarations }
end;
var
ScholarForm: TScholarForm;
implementation
uses MainformUnit, DMUnit;
{$R *.dfm}
{ TScholarForm }
procedure TScholarForm.ButtonUse(CanUse: boolean);
begin
new_button.Enabled :=canuse;
del_button.Enabled :=false;
ok_button.Enabled :=not canuse;
cancel_button.Enabled :=not canuse;
end;
procedure TScholarForm.clearContent;
begin
Scholar_edit.Text :='';
end;
procedure TScholarForm.close_buttonClick(Sender: TObject);
begin
if new_button.Enabled then
begin
self.Close;
exit;
end;
if messagebox(handle,pchar('当前正在进行新增操作,请确认是否退出'),'请选择',MB_ICONQUESTION +MB_YESNO)=6 then
self.Close;
end;
procedure TScholarForm.new_buttonClick(Sender: TObject);
begin
clearcontent;
panel1.Enabled :=true;
Scholar_edit.SetFocus ;
cxGrid1.Enabled :=false;
buttonuse(false);
end;
procedure TScholarForm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
clearcontent;
with list_adoquery do
begin
del_button.Enabled :=not IsEmpty;
if not isempty then
begin
Scholar_edit.Text :=fieldbyname('Scholar').asstring ;
end;
end;
end;
procedure TScholarForm.cancel_buttonClick(Sender: TObject);
var
BookMark:TBookMark;
begin
panel1.Enabled :=false;
cxGrid1.Enabled :=true;
buttonuse(true);
try
bookmark:=list_adoquery.GetBookmark ;
list_adoquery.Close;
list_adoquery.Open;
list_adoquery.GotoBookmark(bookmark);
except
end;
end;
procedure TScholarForm.del_buttonClick(Sender: TObject);
begin
with oper_adoquery do
begin
close;
sql.Clear;
sql.Add('select * from Department where scholarid=:scholarid');
Parameters.ParamByName('scholarid').Value :=List_adoquery.FieldValues['ID'];
open;
if not isempty then
begin
MessageBox(application.handle,pchar('该记录信息已被引用,无法删除!'),'错误',MB_ICONWARNING+MB_OK);
exit;
end;
end;
if messagebox(handle,pchar('请确认是否删除当前记录信息!'),'请选择',MB_ICONQUESTION +MB_yesno)=6 then
begin
with oper_adoquery do
begin
close;
sql.Clear;
sql.Add('delete from Scholar where Id=:ID');
Parameters.ParamByName('ID').Value :=List_adoquery.FieldValues['ID'];
ExecSQL ;
end;
list_adoquery.Close;
list_adoquery.Open;
end;
end;
procedure TScholarForm.FormCreate(Sender: TObject);
begin
list_adoquery.Open;
end;
procedure TScholarForm.ok_buttonClick(Sender: TObject);
var
BookMark:TBookMark;
begin
if trim(Scholar_edit.Text )='' then
begin
MessageBox(application.handle,pchar('学历类型名称没有填写!'),'错误',MB_ICONWARNING+MB_OK);
Scholar_edit.SetFocus ;
exit;
end;
with Oper_adoquery do
begin
close;
sql.Clear;
sql.Add('insert into Scholar (Scholar) values ('''+trim(Scholar_edit.Text )+''')');
try
ExecSQL ;
except
on e:exception do
MessageBox(application.handle,pchar(e.Message),'错误',MB_ICONWARNING+MB_OK);
end;
end;
panel1.Enabled :=false;
cxGrid1.Enabled :=true;
buttonuse(true);
try
bookmark:=list_adoquery.GetBookmark ;
list_adoquery.Close;
list_adoquery.Open;
list_adoquery.GotoBookmark(bookmark);
except
end;
end;
procedure TScholarForm.CloseWindow(var Msg: TMessage);
begin
FreeAndNil(ScholarForm);
end;
procedure TScholarForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
postmessage(handle,wm_user,0,0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -