问题描述:
现在有两个表:module 和 userpermit
表结构如下:
module:
moduleid , module_name
userpermit:
userid, moduleid,permit (其中permit字段说明当前userid所对应的用户,是否有权利访问这个moduleid所对应的模块)
datagrid的结构如下:
id(对应userid),模块名称,checkbox问题要求:
用一个sql语句把所有的模块都在datagrid上显示出来,并且如果此模块允许userid所对应的user访问,则其在datagrid中对应的checkbox被选中
或者那位大哥有已经实现了代码,给小弟也可以,万分感谢问题注意点:
一定是把模块表(module)中所有的模块都在datagrid中显示出来,不能只显示被允许的,这点请各位大虾一定要弄明白小弟在线、喷血、跪求
现在有两个表:module 和 userpermit
表结构如下:
module:
moduleid , module_name
userpermit:
userid, moduleid,permit (其中permit字段说明当前userid所对应的用户,是否有权利访问这个moduleid所对应的模块)
datagrid的结构如下:
id(对应userid),模块名称,checkbox问题要求:
用一个sql语句把所有的模块都在datagrid上显示出来,并且如果此模块允许userid所对应的user访问,则其在datagrid中对应的checkbox被选中
或者那位大哥有已经实现了代码,给小弟也可以,万分感谢问题注意点:
一定是把模块表(module)中所有的模块都在datagrid中显示出来,不能只显示被允许的,这点请各位大虾一定要弄明白小弟在线、喷血、跪求
on a.moduleid = b.moduleid然后在datagrid的OnItemDataBound事件中判断
e.item.dataitem(2)的值,也就是permit的值,按你的需求判断checkboxlist是否选中
select "aaa",module.module_name,"1"
from userpermit,module
where userpermit.moduleid=module.moduleid and
userpermit.userid="aaa"
union
select "aaa",module.module_name,"0"
from module
where module.moduleid not in
(select userpermit.moduleid from userprtmit,module
where userpermit.moduleid=module.moduleid and
userpermit.userid="aaa")
SELECT M.moduleid, M.module_name, U.userpermit FROM module M
LEFT OUTER JOIN userpermit U ON M.moduleid = U.moduleid
WHERE U.userid = @userid至于CHECKBOX要在DATAGRID里绑定userpermit
from module left join userpermit on module.moduleid=userpermit.moduleid
where userpermit.userid=XXXX