📄 editarea.pas
字号:
unit EditArea;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzTabs, RzButton, RzBckgnd, Grids, DBGrids, RzDBGrid, ExtCtrls,
RzPanel, DB;
type
TEditAreaForm = class(TForm)
RzGroupBox1: TRzGroupBox;
RzDBGrid1: TRzDBGrid;
RzSeparator1: TRzSeparator;
RzDBGrid2: TRzDBGrid;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
RzBitBtn7: TRzBitBtn;
RzBitBtn8: TRzBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
//编辑区域信息
procedure EditAreas(ID:integer);
//编辑表
procedure EditDBGrid(GridName:TRzDBGrid; IsOpen:Boolean; DBGridID:integer);
procedure RzBitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
EditAreaForm: TEditAreaForm;
implementation
uses MAIN, DM, ClientList;
{$R *.dfm}
procedure TEditAreaForm.EditAreas(ID: integer);
var
Names : String;
begin
//编辑区域信息
Names:=DM1.ADOTable1.FieldByname('所属区域').AsString;
case ID of
//********************** RzDBGrid1 ***************************
1 : EditDBGrid(RzDBGrid1,true,1); //*******编辑内容
2 : DM1.ADOTable1.Append; //*******增加内容
3 : begin //*******保存内容后,取消窗口编辑
if DM1.ADOTable1.Modified then begin
DM1.ADOTable1.UpdateBatch;
DM1.ADOTable1.Requery();
end;
EditDBGrid(RzDBgrid1,false,1);
end;
4 : begin
if DM1.ADOTable1.RecordCount>0 then begin
if Messagebox(handle,'您确定要删除这条记录吗?这将会使相应的区域信息被删除!','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then begin
ClientListForm.ClearData('销售区域','所属区域',names);
DM1.ADOTable1.Delete;
end;
end
else Messagebox(handle,'没有找到可删除的记录!','错误',MB_OK+MB_ICONWARNING);
end;
//**************************** RzDBGrid2 *********************************
5 : EditDBGrid(RzDBGrid2,true,2);
6 : Dm1.ADODataSet3.Append;
7 : begin
if DM1.ADODataSet3.Modified then begin
Dm1.ADODataSet3.UpdateBatch;
DM1.ADODataSet3.Requery();
end;
EditDBGrid(Rzdbgrid2,false,2);
end;
8 : begin
if Messagebox(handle,'您确定要删除这条记录吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then
if DM1.ADODataSet3.RecordCount>0 then
DM1.ADODataSet3.Delete
else Messagebox(handle,'没有找到可删除的记录!','错误',MB_OK+MB_ICONWARNING);
end;
end;
end;
procedure TEditAreaForm.EditDBGrid(GridName: TRzDBGrid; IsOpen: Boolean; DBGridID:integer);
begin
//编辑表内容
case DBGRidID of
1 : begin
RzBitBtn1.Enabled:=IsOpen;
RzBitBtn2.Enabled:=IsOpen;
RzBitBtn3.Enabled:=IsOpen;
end;
2 : begin
RzBitBtn4.Enabled:=IsOpen;
RzBitBtn5.Enabled:=IsOpen;
RzBitBtn6.Enabled:=IsOpen;
end;
end;
if IsOpen then
GridName.Options:=[dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator,
dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
else
GridName.Options:=[dgTitles, dgIndicator, dgColumnResize, dgColLines,dgRowLines,
dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit];
end;
procedure TEditAreaForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//如果没有保存关闭窗口,则不保存修改
DM1.ADODataSet3.Cancel;
DM1.ADOTable1.Cancel;
EditDBGrid(Rzdbgrid2,false,2);
EditDBGrid(Rzdbgrid1,false,1);
//更新内容
DM1.ADODataSet3.Requery();
end;
procedure TEditAreaForm.RzBitBtn1Click(Sender: TObject);
begin
EditAreas(TRzBitBtn(sender).Tag);
end;
procedure TEditAreaForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if ((DM1.ADOTable1.State in[dsEdit,dsInsert]) or (DM1.ADODataSet3.State in[dsEdit,dsInsert])) then begin
if Messagebox(handle,'您确定要放弃对区域设置的修改吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then
CanClose:=true
else CanClose:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -