• [网络收集]动态加载dtree.js树treeview


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <title>Destroydrop » Javascripts » Tree</title>
    <link rel="StyleSheet" href="dtree.css" type="text/css" />
    <script type="text/javascript" src="dtree.js"></script>
    </head>
    <body>

    <div class="dtree">
    <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
    <script type="text/javascript">
    <!--
    d = new dTree('d');
    d.add(0,-1,'My example tree');
    d.add(1,0,'Node 1','example01.html');
    d.add(2,0,'Node 2','example01.html');
    d.add(3,1,'Node 1.1','example01.html');
    d.add(4,0,'Node 3','example01.html');
    d.add(5,3,'Node 1.1.1','example01.html');
    d.add(6,5,'Node 1.1.1.1','example01.html');
    d.add(7,0,'Node 4','example01.html');
    d.add(8,1,'Node 1.2','example01.html');
    d.add(9,0,'My Pictures','example01.html','Pictures I've taken over the years','','','img/imgfolder.gif');
    d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
    d.add(11,9,'Mom's birthday','example01.html');
    d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif');
    document.write(d);
    //-->
    </script>
    </div>
    <p></p>
    </body>
    </html>

    接下来我们可以分析 我们要是想让他动态的生成 我们 要怎么处理
    我们可以看到如下代码是生成树的关键:
    <div class="dtree">
    <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
    <script type="text/javascript">
    <!--
    d = new dTree('d');
    d.add(0,-1,'My example tree');
    d.add(1,0,'Node 1','example01.html');
    d.add(2,0,'Node 2','example01.html');
    d.add(3,1,'Node 1.1','example01.html');
    d.add(4,0,'Node 3','example01.html');
    d.add(5,3,'Node 1.1.1','example01.html');
    d.add(6,5,'Node 1.1.1.1','example01.html');
    d.add(7,0,'Node 4','example01.html');
    d.add(8,1,'Node 1.2','example01.html');
    d.add(9,0,'My Pictures','example01.html','Pictures I've taken over the years','','','img/imgfolder.gif');
    d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
    d.add(11,9,'Mom's birthday','example01.html');
    d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif');
    document.write(d);
    //-->
    </script>
    </div>

    我们是不是可以把上面的代码写到.cs文件里面呢! 是可以的
    首先我们必须在数据库建立一张表

    我们看下其实这里的这么多表字段 个人觉得 pid子节点(如果是0那么就是根节点,1子节点,3子节点的子节点) name要显示的名称 url连接地址 title标题 icon关闭图片的路径 iconopen打开图片的路径 这里不详细介绍了 大家可以试下 我们最主要的就是根据username 进行判断 大家也可以是把username换成是引用的字段 我这里只是一个测试的所以就用了个字符串类型 下面我们来动态加载treeview
    首先我们建立一个数据库连接类返回一个Dataset类型 我是个人喜欢你们也可以直接返回一个DataTable

    private DataSet GetDt(string username)
    {
    string strConn="server=ZHOUYUN;database=Mytest;uid=sa;pwd=123456";
    SqlConnection conn = new SqlConnection(strConn);
    string strSql = string.Format("
    select * from treeview where username='{0}'",username);
    SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;

    }

    然后我们把先我们生成书的js放到.cs文件里面来 非常关键的一个就是注意.js文件的倒入 和 .css文件的倒入 我们可以用到Page.hearder.innerHTMl=""你要倒入的文件名
    我们来看代码

    public void treeview()
    {
    //实力化一个长字符串类型
    StringBuilder strbu = new StringBuilder();
    //我们在生成一个保留静态文本的位置的类
    Literal lit = new Literal();
    //这里就是我们刚才提到的要把.js和.cs文件倒入的位置
    //page.Header.InnerHtml的意思就是把这段文件引用放到html标签里的
    // <head>这个之间</head>
    Page.Header.InnerHtml = @"<
    link rel='StyleSheet' href='dtree.css' type='text/css'/>
    <script type='text/javascript' src='dtree.js'></script>";//倒入结束

    string username = "zhangsan";
    DataSet ds = GetDt(username.Trim());
    DataTable dt = ds.Tables[0];
    //我们现在开始把js文件放到长字符串类型里面

    strbu.Append(@"<div class='dtree'>
    <p><a href='javascript: d.openAll();'>open all</a> |
    <a href='javascript: d.closeAll();'>close all</a></p>
    <script type='text/javascript'>
    <!--
    d = new dTree('d');
    d.add(0,-1,'My example tree');");//这里结束一段长字符穿类型
    // 我们开始循环DataTable
    for (int i = 1; i < dt.Rows.Count; i++)
    {
    //我们又开始添加长文件类型 大家这里注意了拼接字符穿
    //的时候要仔细点
    strbu.Append(@"
    d.add(" + i + "," + dt.Rows["pid"] + ",'" +
    dt.Rows["name"] + "','" +
    dt.Rows["url"] + "','" +
    dt.Rows["target"] + "','" +
    dt.Rows["icon"] + "','"+
    dt.Rows["iconopen"]+"');");
    }
    //再次添加长文件类型
    strbu.Append(@"document.write(d);
    -->
    </script>
    </div> "); //长文件类型添加结束
    //现在我们保留静态文本的text值就等于 我们刚才的长文件类型的值
    lit.Text = Convert.ToString(strbu);
    //那么我们在想 我怎么把个段文本放到<body>
    //<form>这个位置呢</form><boy>
    form1.InnerHtml = "";
    //我们可以直接从.cs文件里面获得form1然后.Controls.Add()
    //他只能放静态文本所以我们把刚才长文件类型的值赋给了静态文本
    //那么我们这里也就可以直接添加进来了
    form1.Controls.Add(lit);
    }

    摘自http://hi.baidu.com/moson1984/blog/item/83cb49fba4554ed6b48f318f.html

  • 相关阅读:
    我的SWT与数字图像处理总结(1)—重点Image类的介绍
    我的SWT与数字图像处理总结(2)—使用JFreeChart生成灰度直方图
    使用Wiz编写和发布博客园(cnblogs)博客
    RCP之病人信息系统开发总结(2):项目结构分析和重要类分析
    Java与XML(一):采用DOM操作XML文件
    Java实例开发0502 简单的HTTP服务器端
    RCP之病人信息系统开发总结(1):数据库设计
    我的SWT与数字图像处理总结(3)—SWT如何得到图像某个位置的像素值和相应的RGB的值
    对象的保存和载入
    Java与XML(二):使用Dom4j 操作 XML 文件
  • 原文地址:https://www.cnblogs.com/lushuicongsheng/p/1876065.html
Copyright © 2020-2023  润新知