首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

c#动态平添access数据库数据到treeview

2012-09-29 
c#动态添加access数据库数据到treeviewprivate void BindTree(){TreeNode root new TreeNode()root.Tex

c#动态添加access数据库数据到treeview
private void BindTree()
  {
  TreeNode root = new TreeNode();
  root.Text = "自定义疾病";
  DataTable dt = new DataTable();
  DataSet ds = GetTreeViewNode1(0);
  dt = ds.Tables[0];
  if (dt.Rows.Count > 0)
  {
  foreach (DataRow dr in dt.Rows)
  {
  TreeNode node = new TreeNode();
  node.Text = dr["description"].ToString();
  int PID = Convert.ToInt32(dr["aid"]);
  DataTable dt1 = new DataTable();
  DataSet ds1 = GetTreeviewNodeBySid(PID);
  dt1 = ds1.Tables[0];
  // dt1 = GetTreeviewNodeBySid(PID);
  if (dt1.Rows.Count > 0)
  {
  foreach (DataRow dr1 in dt1.Rows)
  {
  int aid1 = Convert.ToInt32(dr1["aid"]);
  node.Nodes.Add(CreateTreeNode(aid1));
  }
  }
  root.Nodes.Add(node);
  }
  treeView1.Nodes.Add(root);
  }
  }
  private TreeNode CreateTreeNode(int Aid)
  {
  TreeNode node2 = new TreeNode();
  DataTable dt1 = new DataTable();
  DataSet ds1 = GetTreeviewNodeBySid(Aid);
  dt1 = ds1.Tables[0];
  //dt1 = GetTreeviewNodeBySid(Aid);
  foreach (DataRow dr in dt1.Rows)
  {
  node2.Text = dr["description"].ToString();
  int aID = Convert.ToInt32(dr["aid"]);

  DataTable dt = new DataTable();
  DataSet ds = GetTreeviewNodeBySid(aID);
  dt = ds1.Tables[0];
  //dt = GetTreeviewNodeBySid(aID);
  if (dt.Rows.Count > 0)
  {
  foreach (DataRow dr3 in dt1.Rows)
  {
  int fID2 = Convert.ToInt32(dr3["aid"]);
  node2.Nodes.Add(CreateTreeNode(fID2));
  }
  }
  }
  return node2;
  }



  public DataSet GetTreeViewNode1(int num)
  {
  string sql2 = "select * from SubAnotomical where aid= '" + num + "'";
  DataSet ds = AccessFactory.getDataSet(sql2);
  return ds;
  }


  public DataSet GetTreeviewNodeBySid(int num)
  {
  string sql2 = "select * from SubAnotomical where sid= '" + num + "'";
  DataSet ds2 = AccessFactory.getDataSet(sql2);
  return ds2;
  }


[解决办法]
贴一下具体的错误代码吧。
大致步骤没有错。可能是因为数据的原因,比如treeview需要设定一个根节点的,不知道你有没有。
[解决办法]
LZ你发错地方了。
[解决办法]
递归函数CreateTreeNode(int Aid)中出现死循环,你前后调用了GetTreeviewNodeBySid 两次,如果节点的ParenetID 有至少两个的话,那么就会出现死循环。

自己设置断点查一下吧。

热点排行