FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2224|回复: 0
打印 上一主题 下一主题

树控件

[复制链接]
跳转到指定楼层
楼主
发表于 2012-8-30 03:09:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
官方演示,左边是树,点击节点,右边链接URL,实现类似Iframe的效果,后台代码如下  treeMenu.DataSource = XmlDataSource1;
                treeMenu.DataBind();
我的代码:是通过递归一个个节点添加,为何我实现不了官方的演示效果呢?

             DataSet dst = DBUtility.DbHelperSQL.Query("select ChsDes,EngDes,Menu_Name,isnull(Url,'')as Url,isnull(Parent_Menu,'')as Parent_Menu from dbo.Training_Menu");
  
                DataRow[] drs = dst.Tables[0].Select("Parent_Menu=''");
                foreach (DataRow dr in dst.Tables[0].Rows)
                {
                    if (dr["Parent_Menu"].ToString().Trim() == "")
                    {
                        ExtAspNet.TreeNode rootnode = new ExtAspNet.TreeNode();
                        rootnode.Text = dr["EngDes"].ToString();
                        if (dr["Url"].ToString() != "")
                            rootnode.NavigateUrl = dr["Url"].ToString();
                        
                        DataRow[] drs_Child = dst.Tables[0].Select("Parent_Menu='" + dr["Menu_Name"].ToString() + "'");
                        if (drs_Child.GetLength(0) != 0)
                            addnodes(rootnode, drs_Child, dst.Tables[0]);
                        this.treeMenu.Nodes.Add(rootnode);
                    }
                }

     private void addnodes(ExtAspNet.TreeNode rootnode, DataRow[] drs,DataTable tb)
        {
            foreach (DataRow dr in drs)
            {
                ExtAspNet.TreeNode tmpnode = new ExtAspNet.TreeNode();
                tmpnode.Text = dr["EngDes"].ToString();
                if (dr["Url"].ToString() != "")
                    tmpnode.NavigateUrl = dr["Url"].ToString();
                DataRow[] drs_Child = tb.Select("Parent_Menu='" + dr["Menu_Name"].ToString() + "'");
                if (drs_Child.GetLength(0) != 0)
                    addnodes(tmpnode, drs_Child, tb);
                rootnode.Nodes.Add(tmpnode);
            }
        }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-30 08:42 , Processed in 0.041218 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表