zoukankan      html  css  js  c++  java
  • DataList 嵌套绑定CheckBoxList [记录, 以免忘记哈.]

    Code

     

     .cs

     1//绑定datalist 
     2protected void BindMenu()
     3{
     4  ICollection<Org_SysMenusRecords> fMenu = org_first.getMenu();
     5    Menu.DataSource = fMenu;
     6    Menu.DataKeyField = "MenuNo";
     7    Menu.DataBind();
     8}

     9//ItemDataBound 事件中绑定checkboxlist
    10rotected void Menu_ItemDataBound(object sender, DataListItemEventArgs e)
    11{//purview list
    12    string parent = Menu.DataKeys[e.Item.ItemIndex].ToString();
    13    BindPurview(parent, (CheckBoxList)e.Item.FindControl("two_menu"));
    14}

    15
    16protected void BindPurview(string parent, CheckBoxList bb)
    17{
    18    ICollection<Org_SysSecMenusRecords> sMenu = org_second.getMenuByParent(parent);
    19    if (sMenu.Count > 0)
    20    {
    21        bb.DataSource = sMenu;
    22        bb.DataTextField = "ChildMenuName";
    23        bb.DataValueField = "ChildMenuNo";
    24        bb.DataBind();
    25    }

    26}

    27
    28//绑定 checkboxlist的值
    29protected void BindPurviewSelected(int argid)
    30{
    31    employee.Value = argid.ToString();
    32    Org_UserRecords item = org_employees.SelectOrg_UserRecords(argid);
    33    //string[] purview = item.purview.Split(new char[] { ',' });
    34    string purview = item.purview;
    35    foreach (DataListItem oDataListItem in Menu.Items)
    36    {//注意这里. ListItem
    37        foreach (ListItem oListItem in ((CheckBoxList)oDataListItem.FindControl("two_menu")).Items)
    38        {
    39            if (purview.Contains(oListItem.Value)) {
    40                oListItem.Selected = true;
    41                ((CheckBox)oDataListItem.FindControl("opt")).Checked = true;
    42            }

    43        }

    44    }

    45}
     
    46
    47 
    48
    49 //得到checkboxlist的值
    50protected void purviewEdit()
    51{
    52    if (string.IsNullOrEmpty(employee.Value))
    53        return;
    54
    55    string resultValue = string.Empty;
    56    foreach (DataListItem oDataListItem in Menu.Items)
    57    {
    58        if (((CheckBox)oDataListItem.FindControl("opt")).Checked)
    59        {
    60            foreach (ListItem item in ((CheckBoxList)oDataListItem.FindControl("two_menu")).Items)
    61            {
    62                if (item.Selected)
    63                    resultValue += item.Value + ",";
    64            }

    65        }

    66    }

    67    //resultValue.TrimEnd(new char[] { ',' });
    68    if (!org_employees.UpdateOrg_UserRecords("Org_UserRecords.purview", resultValue.TrimEnd(new char[] ',' }), int.Parse(employee.Value)))
    69        lblRurviewError.InnerHtml = "An update error about purview";
    70}

    71


     js 全选 [没有反选]

    //根据opt判断全选  
    //
    注意获取父级node 然后判断全选
    //
    <javascript>
    function onCheck(obj){
        
    var nextNode = obj.parentNode;
        
    var cb = nextNode.getElementsByTagName("input");
        
        
    for(var i=0;i<cb.length;i++){
            
    if(cb[i].type == "checkbox"){
                
    if(obj.checked){
                    cb[i].checked 
    = true;
                }

                
    else {
                    cb[i].checked 
    = false;
                }

            }

        }
        
    }


    // haha . 很喜欢这个效果.
    function resetOpt(obj) {
        
    var e = obj.getElementsByTagName("input");
        
    var choose = false;
        
    for(var i=0;i<e.length;i++)
        
    {
            
    if(e[i].type == "checkbox")
            
    {
                
    if(e[i].checked){
                    choose 
    = true;
                }

            }

        }

        
    if(choose){
            obj.parentNode.parentNode.getElementsByTagName(
    "input")[0].checked = true;
        }

        
    else {
            obj.parentNode.parentNode.getElementsByTagName(
    "input")[0].checked = false;
        }

    }

  • 相关阅读:
    ADB常用命令
    Java内部开发框架
    Android开发的十个建议
    通过浏览器访问网站的过程
    CDN的概念和解决的问题
    nginx实现range请求
    Nginx如何重新编译添加模块
    MP4文件在线播放首屏慢的问题
    Ubuntu下添加程序到应用程序
    一致性hash
  • 原文地址:https://www.cnblogs.com/yuanchong/p/1422644.html
Copyright © 2011-2022 走看看