利用数据库来填充UltraWebTree

 2023-09-11 阅读 20 评论 0

摘要:刚做过资源库小程序,用到了UltraWebTree ,利用数据库中的数据填充了树,以下是心得。填充思想:先从表中找到根节点数据,生成节点插入到UltraWebTree中,然后利用递归寻找当前节点的子节点,生成节点,插入。注意,

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

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

代码:
Page_Load中
None.gifif (!Page.IsPostBack)
ExpandedBlockStart.gif   
{
InBlock.gif    DataTable data
= Query.ProcessSql("SELECT cid,cfatherid,cname FROM category",GlobalVar.DBName); 
InBlock.gif    
this.InitTree(this.UltraWebTree1.Nodes, "0",data); 
ExpandedBlockEnd.gif   }

None.gif

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

对应的InitTree如下:

None.gifprivate void InitTree(Infragistics.WebUI.UltraWebNavigator.Nodes Nds,string cfatherid,DataTable data)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            Infragistics.WebUI.UltraWebNavigator.Node tmpNd;
InBlock.gif            DataRow [] rows 
= data.Select("cfatherid='" + cfatherid + "'");
InBlock.gif            
foreach(DataRow row in rows)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                tmpNd 
= new Infragistics.WebUI.UltraWebNavigator.Node();
InBlock.gif                tmpNd.DataKey 
= int.Parse(row["cid"].ToString());
InBlock.gif                tmpNd.Text 
= row["cname"].ToString();
InBlock.gif                Nds.Add(tmpNd);
InBlock.gif                InitTree(tmpNd.Nodes, tmpNd.DataKey.ToString(),data);
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

其中Infragistics.WebUI.UltraWebNavigator.Nodes参考Infragistics手册,其实是和MS提供的TREE树控件TreeNodeCollection类相似的。

转载于:https://www.cnblogs.com/zjy/archive/2006/05/17/402398.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/47015.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息