我的主菜单是固定的。
数据库中:
用户组 节点 确认
001 N1 否
001 N2 否
001 N3 否
001 N4 是
001 N5 是
001 N6 是002 N1 是
002 N2 是
请问如何设置权限?
我先根据用户组把这个组的情况选出来,其他的就不会了。
数据库中:
用户组 节点 确认
001 N1 否
001 N2 否
001 N3 否
001 N4 是
001 N5 是
001 N6 是002 N1 是
002 N2 是
请问如何设置权限?
我先根据用户组把这个组的情况选出来,其他的就不会了。
解决方案 »
- ADO升级后出现问题
- dll封装子窗体(含ado)报 access violation at dress xxx in module 'project1.dll'错
- 发个蛋帖
- 100分!★★[listview!!]★★ listview实现 保存 与 读取 !
- 急!如何从word表格复制数据?
- 有谁知道用TwebBrowser控件怎么拦截网页的弹出广告?或者解决方案?
- RichTextBox控件如何动态联接MS Access数据库?
- 如果何通过程序取得主板的序列号
- 获取password框的文本;
- 如何判断word应用程序是否在运行?....求救
- 在ISAPI中用CreateOleObject('Excel.Application')方式使用了Excel,如何确保在使用完毕或出现异常之后能正常释放Excel进程?
- cxGrid中可以编辑,Enter来移到下一个CELL,速度非常之慢,不知道为什么?
begin
SQL.Clear;
SQL.Text:='Select ''001'' 用户组,''N1'' 节点,''否'' 确认'
+' UNION ALL SELECT ''001'', ''N2'', ''否'''
+' UNION ALL SELECT ''001'', ''N3'', ''是''';
Open;
while not(eof) do
begin
if FieldByName('确认').AsString='否' then
Items.Find(FieldByName('节点').AsString).Enabled := False;
Next;
end;
end;
在MainMenu1先建N1,N2,N3节点进行测试
其实最好的是根据权限动态建立节点!
//把菜单的条目都设置成可以用的
with ADOQuery1 do
begin
sql.clear;
sql.add('select * from table where 用户组=001 and 确认=否');
open;
while not eof do
begin
mainmenu1.items.find(FieldByName('节点').AsString).Enabled := False;//改变为不可用
next;
end;
end;
1:新建一个工程。
2:添加一个tmainmenu控件。
3:添加一个button控件,并在button的onclick事件中写入如下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
files,edit:tmenuitem;
new,copy:tmenuitem;
begin
files:=tmenuitem.Create(self);
edit:=tmenuitem.create(self);
files.Caption:=’文件’;
edit.caption:=’编辑’;
mainmenu1.AutoHotkeys:=mamanual;{此句代码为不让系统自动设置快捷键}
form1.MainMenu1.Items.Add(files);
form1.mainmenu1.items.add(edit);
{上部代码为创建菜单头}
new:=tmenuitem.create(self);
copy:=tmenuitem.create(self);
new.Caption:=’新建’;
copy.caption:=’拷贝’;
files.Add(new);
edit.add(copy);
{上部代码为创建菜单项}
end;
这样赋值怎么不对啊