专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

急C#代码,该如何解决

发布时间:2011-06-28 14:08:01 文章来源:www.iduyao.cn 采编人员:星星草
急!急!急!C#代码
怎样将数据库中的数据动态加载到Treeview控件中

------解决方案--------------------
C# code
void CreateTree(TreeNode pnode, DataView dvm, string pid)
        {

            dvm.RowFilter = "ArchivesType_PID = '" + pid + "'";
            foreach (DataRowView drview in dvm)
            {
                TreeNode node = new TreeNode();
                node.Text = drview["ArchivesType_TypeName"].ToString();
                node.Value = drview["ArchivesType_ID"].ToString();

                //node.NavigateUrl = "rightlist.aspx?id=" + node.Value + "&depth=" + node.Depth + "&foot="+node.ChildNodes.Count+"";
                //node.Target = "mainFrame";
                pnode.ChildNodes.Add(node);
                CreateTree(node, dvm, drview["ArchivesType_ID"].ToString());
            }
        }void CreateData()
        {
            string where = "";


            //DataTable dt = ArchivesMana.GetList(where, param.ToArray());
            DataTable dt = ArchivesMana.GetQZList(where, param.ToArray());

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {

                    TreeNode tn = new TreeNode();
                    tn.Text = dt.Rows[i]["QZNAME"].ToString();
                    tn.Value = dt.Rows[i]["qzid"].ToString();
                    //tn.NavigateUrl = "rightlist.aspx?id=" + tn.Value + "&depth=" + tn.Depth + "&foot="+tn.ChildNodes.Count+"";
                    //tn.Target = "mainFrame";
                    
                    tree.Nodes.Add(tn);

                    DataTable dtt = ArchivesMana.GetList(where, param.ToArray());
                    if (dtt.Rows.Count != 0)
                    {
                        CreateTree(tree.Nodes[i], dtt.DefaultView, dt.Rows[i]["qzid"].ToString());
                    }
                }
            }
}

------解决方案--------------------
C# code

private   void   BindTree() 
{ 
DataTable   dt   =   数据源;   //自己去指定。。。 
DataView   dv   =   new   DataView(dt); 
dv.RowFilter   =   "ParentID   is   null "; 
foreach   (DataRowView   drv   in   dv) 
{ 
TreeNode   node   =   new   TreeNode(); 
node.Text   =   drv[ "Name "].ToString(); 
node.Value   =   drv[ "ID "].ToString(); 
node.ImageUrl   =   "~/images/folder.GIF "; 
node.Expanded   =   true; 
this.tvRight.Nodes.Add(node); 
AddReplies(dt,node); 
} 
} 

//递归函数 
private   void   AddReplies(DataTable   dt,   TreeNode   node) 
{ 
DataView   dv   =   new   DataView(dt); 
dv.RowFilter   =   "ParentID= ' "   +   node.Value   +   " ' "; 
foreach   (DataRowView   row   in   dv) 
{ 
TreeNode   replyNode   =   new   TreeNode(); 
replyNode.Text   =   row[ "Name "].ToString(); 
replyNode.Value   =   row[ "ID "].ToString(); 
replyNode.Expanded   =   false; 
node.ChildNodes.Add(replyNode); 
AddReplies(dt,replyNode); 
} 
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: