📄 unit_frmplantemplate.pas
字号:
unit Unit_frmplantemplate;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit_frmtemplate2, StdCtrls, Buttons, ExtCtrls, ComCtrls,
CyberListVw, CyberXPMenu;
type
Tfrmplantemplate = class(Tfrmtemplate2)
ListView1: TCyberListView;
BtnAdd: TBitBtn;
BtnEdit: TBitBtn;
BtnDel: TBitBtn;
Lbl1: TLabel;
BtnItem: TBitBtn;
CyberXPMenu1: TCyberXPMenu;
Label1: TLabel;
BtnSel: TBitBtn;
procedure BtnAddClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BtnExitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BtnDelClick(Sender: TObject);
procedure BtnItemClick(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure BtnSelClick(Sender: TObject);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
selected:Boolean;
procedure refreshlistview(sqlstr:string);
{ Private declarations }
public
kind:integer;
templateid:integer;
templatename:string;
constructor MyCreate(AOwner: TComponent; _selected: Boolean);
{ Public declarations }
end;
var
frmplantemplate: Tfrmplantemplate;
implementation
uses unit_public,unit_adodm,unit_frmtemplateinfo,unit_frmplanitem;
{$R *.dfm}
{ Tfrmplantemplate }
procedure Tfrmplantemplate.refreshlistview(sqlstr: string);
var
item0 :TListItem;
i:integer;
begin
listview1.Items.Clear ;
if publicinfo.Execsql(sqlstr,false) then
begin
with adodm.ADOQRY do
begin
first;
for i:=0 to recordcount-1 do
begin
item0 :=listview1.Items.Add ;
item0.Caption :=fieldbyname('name').AsString ;
item0.SubItems.Add(fieldbyname('actdate').AsString);
item0.SubItems.Add(fieldbyname('remarks').AsString);
item0.Data :=pointer(fieldbyname('id').asinteger);
next;
end;
end;
end;
end;
procedure Tfrmplantemplate.BtnAddClick(Sender: TObject);
var
item0:TListItem;
begin
inherited;
frmtemplateinfo :=Tfrmtemplateinfo.MyCreate(Application,false);
try
frmtemplateinfo.KIND :=kind;
if frmtemplateinfo.ShowModal=mrok then
begin
item0:=listview1.Items.Add ;
item0.Caption :=frmtemplateinfo.EdtName.Text ;
item0.SubItems.Add(datetimetostr(frmtemplateinfo.LastDate));
item0.Data :=pointer(frmtemplateinfo.id);
end;
finally
frmtemplateinfo.Free ;
end;
end;
procedure Tfrmplantemplate.BtnEditClick(Sender: TObject);
var
selitem :TListItem;
begin
inherited;
selitem :=Listview1.Selected ;
if selitem=nil then exit;
frmtemplateinfo :=Tfrmtemplateinfo.MyCreate(Application,false);
try
frmtemplateinfo.KIND :=kind;
frmtemplateinfo.id :=integer(selitem.Data);
frmtemplateinfo.EdtName.Text :=selitem.Caption ;
frmtemplateinfo.Memoremarks.Text :=selitem.SubItems[1];
if frmtemplateinfo.ShowModal=mrok then
begin
selitem.Caption :=frmtemplateinfo.EdtName.Text ;
end;
finally
frmtemplateinfo.Free ;
end;
end;
procedure Tfrmplantemplate.FormShow(Sender: TObject);
begin
inherited;
if selected then
begin
btnadd.Visible :=false;
btnedit.Visible :=false;
btndel.Visible :=false;
btnitem.Visible :=false;
btnsel.Visible :=True;
end
else
begin
btnadd.Visible :=True;
btnedit.Visible :=true;
btndel.Visible :=true;
btnitem.Visible :=true;
btnsel.Visible :=false;
end;
kind:=2;
refreshlistview('select * from tbltemplate where kind='+inttostr(kind));
end;
procedure Tfrmplantemplate.BtnExitClick(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmplantemplate.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
close;
end;
procedure Tfrmplantemplate.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key=27 then BtnExitClick(nil);
end;
procedure Tfrmplantemplate.BtnDelClick(Sender: TObject);
var
selitem :TListItem;
begin
inherited;
selitem :=listview1.Selected ;
if selitem=nil then exit;
with Adodm.ADOProc do
begin
Close;
ProcedureName := 'my_DeleteTemplate';
Parameters.Refresh;
Parameters.Items[1].Value :=integer(selitem.Data);
Parameters.Items[2].Value :=kind;
Parameters.Items[3].Value :=0;
ExecProc;
if Parameters.ParamByName('@retcode').Value =1 then selitem.Delete ;
end;
end;
procedure Tfrmplantemplate.BtnItemClick(Sender: TObject);
var
selitem :TListItem;
begin
inherited;
selitem:=listview1.Selected ;
if selitem=nil then exit ;
frmplanitem:=Tfrmplanitem.MyCreate(application,integer(selitem.Data));
frmplanitem.Show ;
modalresult:=mrok;
end;
procedure Tfrmplantemplate.ListView1DblClick(Sender: TObject);
begin
inherited;
if selected then
btnselclick(nil)
else
BtnItemClick(nil);
end;
constructor Tfrmplantemplate.MyCreate(AOwner: TComponent;
_selected: Boolean);
begin
inherited Create(AOwner);
selected:=_Selected;
end;
procedure Tfrmplantemplate.BtnSelClick(Sender: TObject);
var
selitem:TListItem;
begin
selitem:=listview1.Selected;
if selitem=nil then exit;
templateid:=integer(selitem.Data);
templatename:=selitem.Caption ;
modalresult:=mrOK;
end;
procedure Tfrmplantemplate.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
inherited;
publicinfo.ListViewDraw(item,DefaultDraw);
end;
procedure Tfrmplantemplate.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key=13 then ListView1DblClick(nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -