您的位置:首页 > 产品设计 > UI/UE

WebGrid控件树的点击一个节点同时选中父节点和子节点 -- Intersoft WebUI Studio.NET 2007控件使用

2007-08-27 14:56 701 查看
1.在WebGrid控件中这样设置可以把数据已树状形式显示



2下面是相应的JS代码


//选中子节点


  function DoChildCheck(rootTable,CurrentRowElement,check,strFunc)




  ...{


        var selectedIndex = CurrentRowElement.rowIndex; 


        var selectedSrLevelAttributes = CurrentRowElement.attributes["srLevel"]; 


        var selectedSrLevel = parseInt(selectedSrLevelAttributes.value);


        var tableElement = CurrentRowElement.parentElement;


        for (var i = selectedIndex + 1 ; i < tableElement.childNodes.length ; i++)




        ...{


            var rowElement = tableElement.childNodes[i];


            var srLevelAttributes = rowElement.attributes["srLevel"]; 


            var srLevel = parseInt(srLevelAttributes.value);


            if (selectedSrLevel + 1 == srLevel)




            ...{


                var row = rootTable.ToRowObject(rowElement);


                doCheck = false;


                if (check)


                    row.Check();


                else


                    row.Uncheck();


                doCheck = true;


                strFunc = strFunc + GetRowCode(row,2) + ',';


                strFunc = DoChildCheck(rootTable,rowElement,check,strFunc);


            }


            else


                break;


        }     


        return strFunc;        


  }


  //选中父节点


  function DoParentCheck(rootTable,CurrentRowElement,check,strFunc)




  ...{


        var selectedIndex = CurrentRowElement.rowIndex;


        var selectedSrLevelAttributes = CurrentRowElement.attributes["srLevel"]; // get self reference level                    


        var selectedSrLevel = parseInt(selectedSrLevelAttributes.value);                                


            


        var tableElement = CurrentRowElement.parentElement; // get table element that holds self reference rows


        


        for (var i = selectedIndex ; i >= 0 ; i--)




        ...{


            var rowElement = tableElement.childNodes[i];


            var srLevelAttributes = rowElement.attributes["srLevel"]; // get self reference level                       


            var srLevel = parseInt(srLevelAttributes.value);


            


            if (selectedSrLevel - 1 == srLevel) // check the level of self reference level


                                                // if true = parent row




            ...{


                var row = rootTable.ToRowObject(rowElement);


                doCheck = false;


                if (check)


                    row.Check();


                else


                    row.Uncheck();


                doCheck = true;


                strFunc = strFunc + GetRowCode(row,2) + ',';


                strFunc = DoParentCheck(rootTable,rowElement,check,strFunc);


                break;


            } 


        }


        return strFunc;


  }


  

3.使用效果



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  function
相关文章推荐