WEB开发网
开发学院软件开发C语言 C#发现之旅 - 高性能ASP.NET树状列表控件(中) 阅读

C#发现之旅 - 高性能ASP.NET树状列表控件(中)

 2010-09-30 21:03:16 来源:WEB开发网   
核心提示: 本函数中,程序会遍历程序集中所有的嵌入式的资源名称,C#发现之旅 - 高性能ASP.NET树状列表控件(中)(4),若该名称以“.SkyTreeViewControl.xslt”结尾则以UTF8的编码格式读取该资源的文本内容,第三段HTML代码块WEB控件还会输出一个名为

本函数中,程序会遍历程序集中所有的嵌入式的资源名称,若该名称以“.SkyTreeViewControl.xslt”结尾则以UTF8的编码格式读取该资源的文本内容。

第三段HTML代码块

WEB控件还会输出一个名为“SkyTreeViewControlExpendNodebyID”的JavaScript函数,该函数用于展开或收缩节点,而与之配套的定义了一个名为SkyTreeViewControlCurrentTreeNode的全局变量,用于保存当前高亮度显示的节点的编号。这段JavaScript代码为

// 定义树状列表的当前节点对象
var SkyTreeViewContrlCurrentTreeNode ;

//
//---------------- 展开指定编号的树状列表的节点---------------
// 参数strID 指明节点的ID号
// 参数bolSelect 指明是否高亮度显示这个树状列表节点
//
function SkyTreeViewContrlExpendNodeByID(strID , bolSelect )
{
    // 获得节点的展开点图片对象
    var myExpend    = document.getElementById(strID + '_expend');
    // 获得节点的图标图片对象
    var myIcon        = document.getElementById(strID + '_icon');     
    // 获得节点的文本对象
    var myText        = document.getElementById(strID + '_text');     
    // 获得子节点表格
    var myTable        = document.getElementById(strID + '_table'); 
    if( myText == null )
        return ;
    if( bolSelect )
    {
        // 设置树状列表节点高亮度显示
        if( SkyTreeViewContrlCurrentTreeNode != myText
            && SkyTreeViewContrlCurrentTreeNode != null)
        {
            SkyTreeViewContrlCurrentTreeNode.className = 'SkyTreeViewControl_TreeNode';
        }

        SkyTreeViewContrlCurrentTreeNode = myText;
        SkyTreeViewContrlCurrentTreeNode.className = 'SkyTreeViewControl_SelectedNode';
    }

    
    // 展开或收缩子节点
    if( myExpend != null 
        && myIcon != null
        && myTable != null )
    {
        // 切换节点前面的展开或收缩样式的图标
        var SrcBack = myIcon.src ;
        myIcon.src = myIcon.getAttribute('SrcBack');
        myIcon.setAttribute( 'SrcBack' , SrcBack );

        // 切换节点前面的+ 或者- 样式的图标
        SrcBack = myExpend.src ;
        myExpend.src = myExpend.getAttribute('SrcBack');
        myExpend.setAttribute( 'SrcBack' , SrcBack );
        
        // 显示或隐藏包含子节点的表格对象
        if( myTable.style.display != 'none' )
        {
            myTable.style.display='none';
        }
        else
        {
            myTable.style.display='';
        }
    }

    var dyload = false;
    if( myTable == null )
    {
        // 若不存在包含子节点的表格对象则尝试动态加载子节点
        // 此时节点的XMLSource扩展属性就保存着定义子节点的XML文档URL地址。
        var XMLSource = myText.getAttribute('XMLSource');
        if( XMLSource != null && XMLSource.length > 0 )
        {
            // 若设置了该XML文档地址则删除XMLSource 扩展属性并
            myText.removeAttribute('XMLSource');
            var xml = document.getElementById( 'SkyTreeViewControlTempXML');
            if( xml != null )
            {
                // 设置“正在加载C#发现之旅 - 高性能ASP.NET树状列表控件(中)”字样为显示状态
                SkyTreeViewControlDyanmicRootNodeID = strID ;
                var lbl = document.getElementById( SkyTreeViewControlDyanmicRootNodeID +'_Loading');
                if( lbl != null )
                {
                    lbl.style.display = '';
                }
                // 调用编号为SkyTreeViewControlTempXML 的XML数据岛来异步加载XML文档
                xml.src = XMLSource ;
                dyload = true ;
            }
        }
    }
    if( dyload == false )
    {
        //myText.scrollIntoView( false );
    }

}//function SkyTreeViewContrlExpendNodeByID(strID)

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:发现 之旅 高性能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接