treeview 控件应用实例

翻译|其它|编辑:郝浩|2007-08-22 14:51:12.000|阅读 1044 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

private TreeView BuildTree(TreeView tree,DataTable tb,string KeyField,string ParentKeyField,string NameField,long TopWithValue)
  {
   this.tvwDept.Nodes.Clear();
   //
添加全部科室节点
   TreeNode node=new TreeNode("
全部科室",2,0);
   node.Tag=null;
   //AddNodes(node,tb,KeyField,ParentKeyField,NameField);
   tree.Nodes.Add(node);

   for(int i=0;i<=tb.Rows.Count-1;i++)
   {
    if(Convert.ToInt64(tb.Rows[i][ParentKeyField])==TopWithValue)
    {
     node=new TreeNode(tb.Rows[i][NameField].ToString().Trim());
     node.Tag=tb.Rows[i][KeyField].ToString();
     AddNodes(node,tb,KeyField,ParentKeyField,NameField);
     tree.Nodes.Add(node);
    }
   }
   return tree;
  }

private void AddNodes(TreeNode parNode,DataTable tb,string KeyField,string ParentKeyField,string NameField)
  {
   DataTable tbChild=tb.Clone();
   DataRow[] rows=tb.Select(ParentKeyField+"="+parNode.Tag.ToString());
   if(rows.Length!=0)
    parNode.ImageIndex=1;
   else
    parNode.ImageIndex=2;
   for(int i=0;i<=rows.Length-1;i++)
   {
    tbChild.Rows.Add(rows[i].ItemArray);
   }
   for(int i=0;i<=tbChild.Rows.Count-1;i++)
   {
    TreeNode node=new TreeNode(tbChild.Rows[i][NameField].ToString().Trim());
    node.Tag=tbChild.Rows[i][KeyField].ToString();
    parNode.Nodes.Add(node);
    AddNodes(node,tb,KeyField,ParentKeyField,NameField);
   }
  } 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP