📄 frame_udatalist.pas
字号:
unit frame_uDataList;
interface
uses
frame_uSingleEdit, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frame_uTradeBase, ComCtrls, ToolWin, ImgList,
ExtCtrls, Grids, DBGridEh, PDBGridEh, frame_UtilFunc, frame_uDM, db,
dcfdes, dcddes;
type
Tframe_frmDataList = class(Tframe_frmTradeBase)
toolbar1: TToolBar;
btnTBNew: TToolButton;
btnTBModi: TToolButton;
btnTBDel: TToolButton;
btnTBSearch: TToolButton;
btnTBPrint: TToolButton;
btnTBQuit: TToolButton;
ilBaseImageList: TImageList;
dg: TDBGridEh;
pnl: TPanel;
procedure FormCreate(Sender: TObject);
procedure btnTBQuitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure AfterOpen(DataSet: TDataSet);
procedure btnTBNewClick(Sender: TObject);
procedure btnTBModiClick(Sender: TObject);
procedure btnTBDelClick(Sender: TObject);
private
{ Private declarations }
procedure showeditform;
public
{ Public declarations }
dataqry: Tdataset;
ds: TDatasource;
editformclass: TFormClass;
gridfields: array of string;
gridcaption: array of string;
noupdate:array of String;
deletehintfield:string;
procedure showgridlayout;
end;
var
frame_frmDataList: Tframe_frmDataList;
implementation
{$R *.dfm}
procedure Tframe_frmDataList.FormCreate(Sender: TObject);
begin
inherited;
dataqry := frame_DM.GenQry;
dataqry.AfterOpen := AfterOpen;
ds := TDataSource.Create(self);
ds.DataSet := dataqry;
dg.DataSource := ds;
end;
procedure Tframe_frmDataList.btnTBQuitClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure Tframe_frmDataList.FormShow(Sender: TObject);
begin
inherited;
showgridlayout;
end;
procedure Tframe_frmDataList.showgridlayout;
var
i, j: integer;
begin
inherited;
for i := 0 to (dg.Columns.Count - 1) do
begin
for j := 0 to length(gridfields) - 1 do
begin
if dg.Columns[i].FieldName = gridfields[j] then
begin
dg.Columns[i].Title.Caption := gridcaption[j]
end;
end;
end;
getgridwidth(dg,strtointdef(tradeid,0));
end;
procedure Tframe_frmDataList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if dg.DataSource.DataSet.Active then
SetGridWidth(dg, strtointdef(tradeid, 0));
end;
procedure Tframe_frmDataList.AfterOpen(DataSet: TDataSet);
begin
getGridWidth(dg, strtointdef(tradeid, 0));
end;
procedure Tframe_frmDataList.btnTBNewClick(Sender: TObject);
var
aForm: TFrame_frmsingleEdit;
begin
inherited;
if editformclass = nil then
begin
showmessage('请设置编辑窗体!');
exit;
end;
dg.DataSource.DataSet.Append;
showeditform;
end;
procedure Tframe_frmDataList.showeditform;
var
aform:TFrame_frmsingleEdit;
begin
try
AForm := TFrame_frmsingleEdit(editformclass.create(Application));
aForm.RequestForm := Self;
aForm.tradeName := tradename + '-编辑';
aform.mydg:=dg;
aForm.showmodal;
finally
FreeAndNil(aForm);
end;
end;
procedure Tframe_frmDataList.btnTBModiClick(Sender: TObject);
var
aForm: TFrame_frmsingleEdit;
begin
inherited;
if editformclass = nil then
begin
showmessage('请设置编辑窗体!');
exit;
end;
dg.DataSource.DataSet.edit;
showeditform;
end;
procedure Tframe_frmDataList.btnTBDelClick(Sender: TObject);
var
delinfo:string;
begin
inherited;
if (deletehintfield<>'') then
delinfo:= '【'+dg.DataSource.DataSet.fieldByName(deletehintfield).AsString+'】'
else
delinfo:= '本条记录';
begin
if querydlg('确定删除'+delinfo+'吗?',true) then
dg.DataSource.DataSet.Delete;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -