急!!我想实现根据数据库里面的表,在页面加载时让checkbox选中,然后在进行操作,再将选中的数据插入到数据库表中。请问哪位大神知道怎么做,救救我啊,谢谢了!

解决方案 »

  1.   

    谢谢啦!我的意思是,我数据库里面有两张表,我将A表的数据用repeater绑定到页面上了,然后现在是要将A表有的记录对应的插入到B表中,我想在页面加载的时候首先将B表里面有记录的把对应的checkbox勾选上,然后在页面上在进行操作,勾选checkbox,点击确定就把对应的id插入到B表中
      

  2.   

     <asp:Repeater ID="repRolesList" runat="server">
                    <HeaderTemplate>
                        <table class="tableRoles" cellpadding="0" cellspacing="0" width="600px">
                            <thead>
                                <tr>
                                    <td>
                                        全选:<input id="chkAll" onclick="GetAllCheckBox(this)" type="checkbox" />
                                    </td>
                                    <td>
                                        序号
                                    </td>
                                    <td>
                                        权限编号
                                    </td>
                                    <td>
                                        权限英文名
                                    </td>
                                    <td>
                                        权限描述
                                    </td>
                                </tr>
                            </thead>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tbody>
                            <tr>
                                <td>
                                    <input name="checkbox" id='Checkbox<%#Eval("permissionid") %>' type="checkbox" />
                                </td>
                                <td>
                                    <%#this.repRolesList.Items.Count+1 %>
                                </td>
                                <td>
                                    <%#Eval("permissioncode")%>
                                </td>
                                <td>
                                    <%#Eval("permissionname")%>
                                </td>
                                <td>
                                    <%#Eval("description")%>
                                </td>
                            </tr>
                        </tbody>
                    </ItemTemplate>
                    <FooterTemplate>
                        </table></FooterTemplate>
                </asp:Repeater>这是dbo.sk_manage_permissions表里的数据
    数据库里面还有一张表dbo.sk_manage_rolepermissions里面有roleid角色ID和permissioncode
    另外一张表是角色表,我现在是要做给角色赋权的功能。我想页面加载的时候把数据库里面对应的角色已经有的权限前面的checkbox勾选,然后在操作,最后在点击确定,把勾选的对应的permissioncode对应的插入到数据库的表中。
      

  3.   

    <select id="PCATCODE" name="PCATCODE" style="width: 126px;" onchange="parentChange();"> 
    <option value="">请选择</option>
    <%
    if(lawTypePList.size()>0){for(int i2=0;i2<lawTypePList.size();i2++){
    Map tempMap2 = (Map)lawTypePList.get(i2);
    String tempValue2 = tempMap2.get("CATCODE").toString(); %><option value="<%=tempValue2 %>" <%if(tempValue2.equals(PCATCODE)){ %> selected="selected" <%} %>><%=tempMap2.get("CATNAME").toString() %>
    </option>
    <% }
    }
    %>
    </select>
      

  4.   

    后台代码处理如下:
    UserBaseInfo ubi = (UserBaseInfo) this.getHttpSession().getAttribute(SESSION_KEY_USER);
    Long userid = ubi.getId();
    JSONArray ary = this.params.getJSONArray("ids");
    List<Module> moduleList = roleService.getUserCommonModulesByUserId(userid); //用户常用功能ID
    List<Long> commonIds = new ArrayList<Long>();
    for (int i = 0; i < moduleList.size(); i++) {
    commonIds.add(moduleList.get(i).getId());
    }
    List<Long> ids = new ArrayList<Long>();   //页面传过来的ID
    for (int i = 0; i < ary.size(); i++) {
    ids.add(ary.getLong(i));
    }

    List<Long> addIds = new ArrayList<Long>(); //添加的ID集
    List<Long> delIds = new ArrayList<Long>(); //删除的ID集

    if (!commonIds.containsAll(ids) || !ids.containsAll(commonIds)) {
    for (Long i : ids) {
    if (!commonIds.contains(i)) addIds.add(i);
    }
    for (Long i : commonIds) {
    if (!ids.contains(i)) delIds.add(i);
    }

    try {
    if (addIds.size() > 0)
    this.roleService.addUserCommonMenu(userid, addIds);
    if (delIds.size() > 0)
    this.roleService.delUserCommonMenu(userid, delIds);
    this.sendResult("操作成功!");
    } catch (Exception e) {
    this.sendResult("操作失败!");
    }
    } else {
    this.sendResult("请选择您要添加或删除的常用功能!");
    }
      

  5.   

    啊,你的是JAVA的呀。我是.net的
      

  6.   

    无非就是前台传一组ID都后台是吧?然后更加传过来的ID判断哪些是需要添加到B表、或者哪些ID需要从B表删除是不?
      

  7.   

    嗯呢,是啊。不过先要把页面上显示出来,如果B表里面有的对应的就要勾选上。现在在想可不可以用两张表联合查询,然后自定义一个列,根据这列的值来判断是否选中,可是还有一个条件roleid,这样用外联还不行,不能都查出来。怎么办呢?