• 利用数据库来填充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类相似的。
  • 相关阅读:
    【Dubbo 源码解析】08_Dubbo与Spring结合
    【Dubbo 源码解析】07_Dubbo 重试机制
    【Dubbo 源码解析】06_Dubbo 服务调用
    【Dubbo 源码解析】05_Dubbo 服务发现&引用
    【Dubbo 源码解析】04_Dubbo 服务注册&暴露
    【Dubbo 源码解析】03_Dubbo Protocol&Filter
    【Dubbo 源码解析】02_Dubbo SPI
    Hadoop(十五)MapReduce程序实例
    Hadoop(十四)MapReduce原理分析
    Hadoop(十三)分析MapReduce程序
  • 原文地址:https://www.cnblogs.com/zjy/p/402398.html
Copyright © 2020-2023  润新知