我在做一个用户权限管理页面,
需要在gridview里面添加checkbox 。
一共有两列,一列是模块名称,一列是checkbox。
模块名称大约有20个模块,从数据库里调出来,然后每一个模块对应一个checkbox,
checkbox选中的话,该用户就可以登录该模块,否则不可以,
每个模块对应一个模块编号,从101,102,,103...从头编到尾,用户权限是另一个数据表,表中有一个qx(权限) 列,
假如用户A可以登录前3个模块,那么用户的qx在数据表中的显示就是 101/102/103/有这样一个问题:我需要在打开用户管理页面的时候,检查该用户的权限然后将对应的权限显示出来,
比如用户A有前3个模块的权限,那么在打开管理页面的时候,前3个模块对应的checkbox都是选中的 而其他的不是,这个该如何实现?我想用indeOf检查每个模块的模块编号在用户权限里面是否有对应的返回值,如果返回值>=0那么有该权限,如果<0那么没有权限,可是问题随之而来了,我在作这个查询的时候要牵扯到两个表,还要有一个循环判断,我自己决定很乱;有没有高手帮我理一理思路?或者有个你们做过的例子可以让我参考的?谢谢啦!

解决方案 »

  1.   

    我做过的是,用checkbox判断商品在订单表中是不是选中状态,checkbox为自定义列,同时在此列中有一个隐藏控件,用于记录商品的id,然后遍历gridview的每一行,如果商品在订单中存在就将checkbox置为选中状态,咱们的有一点相像,你参考一下思路
      

  2.   

    <tr bgcolor="#ffffff">
                                                    <td style="width: 20%; text-align: center;" class="tab_title">
                                                        角色 </td>
                                                    <td style="text-align: center;" class="tab_title">
                                                        权限点 </td>
                                                </tr>
                                                <tr bgcolor="#ffffff">
                                                    <td valign="top">
                                                        <asp:ListBox ID="ListBox_Role" runat="server" AutoPostBack="True" Rows="20" Width="229px"
                                                            OnSelectedIndexChanged="ListBox_Role_SelectedIndexChanged"></asp:ListBox>
                                                    </td>
                                                    <td align="left" valign="top">
                                                        <asp:TreeView ID="TreeView1" runat="server" AutoGenerateDataBindings="False" ShowLines="True">
                                                            <SelectedNodeStyle BackColor="#C0C0FF" />
                                                        </asp:TreeView>
                                                    </td>
                                                </tr>