📄 unit_frmdict.pas
字号:
unit Unit_frmdict;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit_frmtemplate, ExtCtrls, ComCtrls, CyberListVw, StdCtrls,
Buttons, CyberPanel, CyberXPMenu;
type
Tfrmdict = class(Tfrmtemplate)
BtnAdd: TBitBtn;
BtnEdit: TBitBtn;
BtnDel: TBitBtn;
BtnExit: TBitBtn;
CyberSizePanel1: TCyberSizePanel;
TreeView1: TTreeView;
Panel4: TPanel;
ListView1: TCyberListView;
CyberXPMenu1: TCyberXPMenu;
procedure BtnExitClick(Sender: TObject);
procedure BtnAddClick(Sender: TObject);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure TreeView1Click(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnDelClick(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
kindname :string;
procedure refreshlistview(lstv:TCyberListView;sqlstr:string);
{ Private declarations }
public
{ Public declarations }
end;
var
frmdict: Tfrmdict;
implementation
uses unit_public,unit_adodm,unit_frmdictinfo, Unit_frmhallinfo;
{$R *.dfm}
procedure Tfrmdict.BtnExitClick(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmdict.BtnAddClick(Sender: TObject);
var
selnode :TTreeNode;
begin
inherited;
selnode :=treeview1.Selected ;
if (selnode=nil) or (selnode.Level=0) then
begin
publicinfo.showmsg('请选择一种类别');
exit;
end;
frmdictinfo :=Tfrmdictinfo.MyCreate(Application,false);
try
frmdictinfo.kind :=selnode.Index+1;
frmdictinfo.kindname :=selnode.Text ;
frmdictinfo.ShowModal ;
finally
frmdictinfo.Free ;
refreshlistview(listview1,'select * from tbldict where kind='+inttostr(selnode.Index+1));
end;
end;
procedure Tfrmdict.refreshlistview(lstv: TCyberListView; sqlstr: string);
var
i,_id :integer;
_code,_name,_remarks :string;
item0 :TListItem;
begin
lstv.Items.Clear ;
lstv.Items.BeginUpdate ;
try
if publicinfo.Execsql(sqlstr,false) then
begin
if adodm.ADOQRY.RecordCount<=0 then exit;
with adodm.ADOQRY do
begin
first;
for i:=1 to recordcount do
begin
_id :=fieldbyname('id').AsInteger ;
_code :=fieldbyname('code').AsString ;
_name :=fieldbyname('name').AsString ;
_remarks :=fieldbyname('remarks').AsString ;
item0:=lstv.Items.Add ;
item0.Caption :=_code;
item0.SubItems.Add(_name);
item0.SubItems.Add(_remarks);
item0.Data :=pointer(_id);
next;
end;
end;
end;
finally
lstv.Items.EndUpdate ;
end;
end;
procedure Tfrmdict.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
inherited;
publicinfo.ListViewDraw(item,DefaultDraw);
end;
procedure Tfrmdict.TreeView1Click(Sender: TObject);
var
selnode :TTreeNode;
_kind :integer;
sqlstr :string;
begin
inherited;
selnode :=treeview1.Selected ;
if (selnode=nil) or (selnode.Level=0) then exit;
_kind :=selnode.Index+1 ;
kindname :=selnode.text;
sqlstr:='select * from tbldict where kind='+inttostr(_kind);
refreshlistview(listview1,sqlstr);
end;
procedure Tfrmdict.BtnEditClick(Sender: TObject);
var
selitem :TListItem;
begin
inherited;
selitem :=listview1.Selected ;
if selitem=nil then exit;
Frmdictinfo :=TFrmdictinfo.MyCreate(application,true);
try
Frmdictinfo.id :=integer(selitem.Data);
Frmdictinfo.kindname :=kindname;
if Frmdictinfo.ShowModal=mrok then
begin
selitem.Caption :=Frmdictinfo.Edtcode.Text ;
selitem.SubItems[0]:=frmdictinfo.EdtName.Text ;
selitem.SubItems[1]:=frmdictinfo.EdtRemarks.Text;
end;
finally
Frmdictinfo.Free ;
end;
end;
procedure Tfrmdict.BtnDelClick(Sender: TObject);
var
selitem :TListItem;
sqlstr :string;
begin
inherited;
selitem :=listview1.Selected ;
if selitem=nil then exit;
sqlstr:='delete from tbldict where id='+inttostr(integer(selitem.Data));
if publicinfo.Execsql(sqlstr,true) then
begin
selitem.Delete ;
publicinfo.showmsg(kindname+'信息删除成功');
end;
end;
procedure Tfrmdict.ListView1DblClick(Sender: TObject);
begin
inherited;
if BtnEdit.Enabled then BtnEditClick(nil);
end;
procedure Tfrmdict.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key=13 then ListView1DblClick(nil);
if (key=46) and (btndel.Enabled) then btndelclick(nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -