📄 unit_frmgrouppower.pas
字号:
unit Unit_frmgrouppower;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit_frmtemplate2, StdCtrls, Buttons, ExtCtrls, ComCtrls,
CyberTreeView,Menus;
type
Tfrmgrouppower = class(Tfrmtemplate2)
Label1: TLabel;
CyberCheckTree1: TCyberCheckTree;
Btnsave: TBitBtn;
procedure FormShow(Sender: TObject);
procedure BtnsaveClick(Sender: TObject);
private
procedure InitMenu(_GroupID:Integer);
function SaveMenu(_GroupID:Integer):Boolean;
{ Private declarations }
public
groupid:integer;
{ Public declarations }
end;
var
frmgrouppower: Tfrmgrouppower;
implementation
uses unit_public,unit_adodm,unit_frmmain;
{$R *.dfm}
{ Tfrmgrouppower }
procedure Tfrmgrouppower.InitMenu(_GroupID: Integer);
var
myMenu : TMenu;
Item0,Item1 : TMenuItem;
I,J:Integer;
Node0 ,Node1 : TTreeNode;
_name,_sqlstr :String;
begin
CyberCheckTree1.Items.Clear;
//构造树型!
myMenu := frmmain.MainMenu;
for I:=1 to myMenu.Items.Count -3 do
begin
Item0 := myMenu.Items[I];
Node0 := CyberCheckTree1.Items.Add(nil,Item0.Caption);
Node0.Data := Item0;
for J:=0 to Item0.Count -1 do
begin
Item1 := Item0.Items[J];
Node1 := CyberCheckTree1.Items.AddChild(Node0,Item1.Caption);
Node1.Data := Item1;
end;
end;
//根据ID来给树型赋值!
_sqlstr := 'Select MenuName from tblpower Where GroupID='+IntToStr(_GroupID);
if publicinfo.Execsql(_sqlstr,false) then
begin
with adodm.ADOQRY do
begin
if recordcount<=0 then exit;
First;
while not Eof do
begin
_name := FieldbyName('MenuName').AsString;
for J:=0 to CyberCheckTree1.Items.Count -1 do
begin
Node0 := CyberCheckTree1.Items[J];
Item0 := Node0.Data;
if Trim(Item0.Name) = Trim(_name) then
begin
CyberCheckTree1.ChangeNodeCheckState(Node0,csChecked);
break;
end;
end;
Next;
end;
end;
end;
end;
function Tfrmgrouppower.SaveMenu(_GroupID: Integer):Boolean;
var
sqlstr:String;
Node0 :TTreeNode;
I:Integer;
Item0 :TMenuItem;
begin
result:=true;
sqlstr := 'delete from tblpower where GroupID='+InttoStr(_GroupID);
publicinfo.Execsql(sqlstr,true) ;
for I:=0 to CyberCheckTree1.Items.Count -1 do
begin
Node0 := CyberCheckTree1.Items[I];
if Node0.Text ='-' then continue;
Item0 := Node0.data ;
if CyberCheckTree1.ItemState[I]= csChecked then
begin
sqlstr := Item0.Name;
sqlstr := 'Insert into tblpower(GroupID,MenuName) values( '+IntToStr(_GroupID)+','''+ sqlstr +''')';
if not PublicInfo.Execsql(sqlstr,true) then
begin
result:=false;
break;
end;
end;
end;
end;
procedure Tfrmgrouppower.FormShow(Sender: TObject);
begin
inherited;
InitMenu(groupid);
end;
procedure Tfrmgrouppower.BtnsaveClick(Sender: TObject);
begin
inherited;
if SaveMenu(groupid) then
begin
Publicinfo.showmsg('角色权限设置成功!');
ModalResult:=mrok;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -