zoukankan      html  css  js  c++  java
  • 利用数据库来填充UltraWebTree

    刚做过资源库小程序,用到了UltraWebTree ,利用数据库中的数据填充了树,以下是心得。
    填充思想:先从表中找到根节点数据,生成节点插入到UltraWebTree中,然后利用递归寻找当前节点的子节点,生成节点,插入。
    注意,需要using Infragistics.WebUI.Shared 空间
    资源库表结构(两个表category与files):
    category(存放资源文件目录列表

    cid cname cfatherid
    cid是标示,cname目录名称,cfatherid父目录名称
    files(存放fcid对应目录下的文件名称
    fid fname fcid

    代码:
    Page_Load中

    if (!Page.IsPostBack)
       
    {
        DataTable data
    = Query.ProcessSql("SELECT cid,cfatherid,cname FROM category",GlobalVar.DBName); 
        
    this.InitTree(this.UltraWebTree1.Nodes, "0",data); 
       }

    GlobalVar.DBName ->数据库名。
    Query.ProcessSql  ->我用了听棠的SPL持久层来做的。

    对应的InitTree如下:

    private void InitTree(Infragistics.WebUI.UltraWebNavigator.Nodes Nds,string cfatherid,DataTable data)
            
    {
                Infragistics.WebUI.UltraWebNavigator.Node tmpNd;
                DataRow [] rows 
    = data.Select("cfatherid='" + cfatherid + "'");
                
    foreach(DataRow row in rows)
                
    {
                    tmpNd 
    = new Infragistics.WebUI.UltraWebNavigator.Node();
                    tmpNd.DataKey 
    = int.Parse(row["cid"].ToString());
                    tmpNd.Text 
    = row["cname"].ToString();
                    Nds.Add(tmpNd);
                    InitTree(tmpNd.Nodes, tmpNd.DataKey.ToString(),data);
                }

            }

    其中Infragistics.WebUI.UltraWebNavigator.Nodes参考Infragistics手册,其实是和MS提供的TREE树控件TreeNodeCollection类相似的。
  • 相关阅读:
    按格式读取csv文件内容
    C#分块拷贝大文件
    在 Active Directory 上也有 LINQ 可以用了:LINQ to Active Directory
    CSVDE
    lucene索引查看工具luke和文本提取工具Tika
    Perf工具
    RHEL7.2安装
    Hive on ES
    灰度发布
    LSM树由来、设计思想以及应用到HBase的索引
  • 原文地址:https://www.cnblogs.com/zjy/p/402398.html
Copyright © 2011-2022 走看看