📄 pfm_datadict.pas
字号:
unit pfm_datadict;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls;
type
Tfm_datadict = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Cob1: TComboBox;
BitBtn_add: TBitBtn;
BitBtn_del: TBitBtn;
BitBtn_save: TBitBtn;
BitBtn_quit: TBitBtn;
Table1: TTable;
Table1mid: TAutoIncField;
Table1tablename: TStringField;
Table1colname: TStringField;
Table1colcn: TStringField;
Table1value: TStringField;
BitBtn_cancel: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Cob1Change(Sender: TObject);
procedure BitBtn_addClick(Sender: TObject);
procedure BitBtn_delClick(Sender: TObject);
procedure BitBtn_saveClick(Sender: TObject);
procedure BitBtn_quitClick(Sender: TObject);
procedure BitBtn_cancelClick(Sender: TObject);
procedure Table1AfterInsert(DataSet: TDataSet);
procedure Table1AfterPost(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_datadict: Tfm_datadict;
implementation
{$R *.DFM}
procedure Tfm_datadict.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfm_datadict.FormCreate(Sender: TObject);
begin
dbgrid1.Columns[0].Title.caption:='下拉设置项';
dbgrid1.Columns[1].Title.caption:='下拉数据项';
cob1.Items.Add('销售方式');
cob1.Items.add('结算方式');
cob1.Items.add('商品类别');
end;
procedure Tfm_datadict.Cob1Change(Sender: TObject);
begin
table1.filtered:=true;
table1.filter:='colcn=''' + cob1.Text + '''';
end;
procedure Tfm_datadict.BitBtn_addClick(Sender: TObject);
begin
table1.Insert;
table1.Fieldbyname('colcn').asstring:=cob1.text;
end;
procedure Tfm_datadict.BitBtn_delClick(Sender: TObject);
begin
if application.MessageBox('确信要删除该列?','警告',MB_OKCANCEL)=IDOK then
begin
table1.Delete;
table1.applyupdates;
end
end;
procedure Tfm_datadict.BitBtn_saveClick(Sender: TObject);
begin
if table1.state=dsEdit then
begin
try
table1.ApplyUpdates;
// table1.refresh;
showmessage('更改数据成功');
except
showmessage('更改数据不成功!');
end;
end
else if table1.state=dsInsert then
begin
try
table1.ApplyUpdates;
// table1.refresh;
showmessage('保存成功');
except
showmessage('保存数据不成功!');
end;
end
else
begin
showmessage('不是处于修改状态');
end;
end;
procedure Tfm_datadict.BitBtn_quitClick(Sender: TObject);
begin
if (table1.state=dsEdit) or (table1.state=dsInsert) then
begin
if application.MessageBox('需要先保存修改的数据吗?','警告',MB_YESNO)=IDYES then
begin
if table1.state=dsEdit then
begin
try
table1.ApplyUpdates;
// table1.refresh;
showmessage('更改数据成功');
except
showmessage('更改数据不成功!');
end;
end
else if table1.state=dsInsert then
begin
try
table1.ApplyUpdates;
// table1.refresh;
showmessage('保存成功');
except
showmessage('保存数据不成功!');
end;
end
end
end;
close;
end;
procedure Tfm_datadict.BitBtn_cancelClick(Sender: TObject);
begin
if (table1.State=dsEdit) or (table1.State=dsInsert) then
begin
table1.CancelUpdates;
table1.Refresh;
end;
end;
procedure Tfm_datadict.Table1AfterInsert(DataSet: TDataSet);
begin
bitbtn_save.Enabled:=true;
bitbtn_cancel.enabled:=true;
bitbtn_del.enabled:=false;
end;
procedure Tfm_datadict.Table1AfterPost(DataSet: TDataSet);
begin
bitbtn_save.Enabled:=false;
bitbtn_cancel.Enabled :=false;
bitbtn_add.enabled:=true;
bitbtn_del.Enabled :=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -