FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 11417|回复: 14
打印 上一主题 下一主题

谁那有动态加载tree子节点的例子

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-5 06:09:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在项目中遇到个问题 由于树太庞大,想页面加载时先加载一级节点,当点击该节点时动态加载该节点的子节点。有做个这方面的给我实例 谢谢!!!
15#
发表于 2012-10-12 08:34:08 | 只看该作者
我在 另外 一个贴里面,已经 回复过了,有完整 动态添加 代码
14#
发表于 2012-10-11 02:51:09 | 只看该作者
没有完整代码啊!
13#
发表于 2012-10-11 01:52:23 | 只看该作者
1, if (!IsPostBack)  绑定根节点,同时判断根有无孩子
2,//展开树节点  protected void tTree_NodeExpand(object sender, TreeExpandEventArgs e)
   展开哪个节点,动态去数据库绑定哪个节点



12#
 楼主| 发表于 2012-10-10 08:24:32 | 只看该作者
yxsyjin 发表于 2012-10-10 06:52
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)

兄弟,你的这种写法 在页面禁用了Ajax吗?
11#
发表于 2012-10-10 07:32:55 | 只看该作者
顶一个,学习了
10#
发表于 2012-10-10 06:52:07 | 只看该作者
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           //Tree1 OnClientClick = TabStrip1.GetAddTabReference(e.Node.Text, "fa_zclb.aspx", e.Node.Text, IconHelper.GetIconUrl(Icon.Application), true));
            LoadData();
        }
    }
    private void LoadData()
    {
        
        var db = new DBClass();
        //var dt = new DataTable();
        var ds = new DataSet();
        string sql = "select lbdm,lbmc,case when len(rtrim(lbdm))=2 then NULL else left(lbdm,2) end 'ParentID' ";
        sql += "from  FA_Gdlb where gsdm='@gsdm' order by lbdm";
        sql = sql.Replace("@gsdm", RunContext.Dw.gsdm);
        ds = db.ExecQueryRecordSet(sql, "fa_gdlb"); //返回 数据集  
        
        ds.Relations.Add("TreeRelation", ds.Tables[0].Columns["lbdm"], ds.Tables[0].Columns["ParentID"]);//

        foreach (DataRow row in ds.Tables[0].Rows)
        {
            if (row.IsNull("ParentID"))  //DBNull.Value  
            {   //上级代码为空时,表示一级节点
                TreeNode node = new TreeNode();
                node.Text = row["lbdm"].ToString() +" "+ row["lbmc"].ToString();
                node.Expanded = true;//展开节点
                //node.Leaf = false;   //是否是叶子节点
                node.NodeID = row["lbdm"].ToString();
                Tree1.Nodes.Add(node);//增加 父节点

                ResolveSubTree(row, node); //加载 子节点
            }
        }
    }

    private void ResolveSubTree(DataRow dataRow, TreeNode treeNode)
    {
        DataRow[] rows = dataRow.GetChildRows("TreeRelation");//从"关系名"行中读取"子节点"行集
        if (rows.Length > 0)          // 行集不为空
        {
            treeNode.Expanded = true;//展开节点
            foreach (DataRow row in rows)          //从 子节点 行集中读取.
            {
                TreeNode node = new TreeNode();   //创建空节点
                node.NodeID = row["lbdm"].ToString();
                node.Text = row["lbdm"].ToString() + " " + row["lbmc"].ToString();
                node.EnablePostBack = false;       //回发
                node.OnClientClick = TabStrip1.GetAddTabReference(row["lbdm"].ToString(), "fa_zclb.aspx", row["lbmc"].ToString(), IconHelper.GetIconUrl(Icon.Application), true);
                //TN.OnClientClick = TabStrip1.GetAddTabReference(dr["ID"].ToString(), dr["URL"].ToString() ,  dr["NAME"].ToString(), true);
                //node.Leaf = true;
                treeNode.Nodes.Add(node);        //添加 二级 节点

                //ResolveSubTree(row, node);    // 读取 下级 节点
            }
        }
    }
9#
 楼主| 发表于 2012-8-2 01:48:45 | 只看该作者
Panda 发表于 2012-8-1 07:38
http://bbs.extasp.net/forum.php?mod=viewthread&tid=1047&extra=page%3D1

看看这个帖子里我的那个回复。 ...

我的是用的tree 不是手风琴那种,不一样的
8#
发表于 2012-8-1 07:38:21 | 只看该作者
http://bbs.extasp.net/forum.php? ... &extra=page%3D1

看看这个帖子里我的那个回复。 代码回复上去后排版乱了,自己在VS里面用那个自动排版整理下。希望对你有帮助
7#
发表于 2012-8-1 01:25:49 | 只看该作者
晒出来分享一下哈!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-21 03:41 , Processed in 0.047861 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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