When Compromise Is Not An Option

导航

<2006年5月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

公告

这里内容虽然还不精彩,但每篇文章都是原创,望大家和我讨论问题。您的每一个评论,都是我的动力,我一定并虚心接受批评和鼓励。
联系方式:
MAIL:
zaluao#gmail.com

与我联系

搜索

 

常用链接

留言簿(1)

我参与的团队

我的标签

随笔分类

文章分类

最新随笔

最新评论

阅读排行榜

评论排行榜

利用数据库来填充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类相似的。

posted on 2006-05-17 13:27 Zaluao 阅读(927) 评论(2)  编辑 收藏 网摘 所属分类: NetAdvantage

评论

#1楼  2006-05-18 17:30 听棠.NET      

Query.ProcessSql ->我用了听棠的SPL持久层来做的。
嘿嘿   回复  引用  查看    

#2楼 [楼主] 2006-05-19 16:54 尧尧      

老大要多来指导指导啊   回复  引用  查看    





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: