首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于vs.net2005中的treeview使用有关问题

2012-01-02 
请教高手 在线等关于vs.net2005中的treeview使用问题protected void BindDataDT(){kogbd.DataAccess.SqlSe

请教高手 在线等 关于vs.net2005中的treeview使用问题
protected void BindDataDT()
  {
  kogbd.DataAccess.SqlService db=new kogbd.DataAccess.SqlService();
  string sql = "select top 10 orgid,orgname,parentcode,selfcode from t_Organzation ";
  mydataDT = db.GetDataTable(sql);
  }
//treeview递归
 public void InitTree(TreeNodeCollection tns, string parentid)
  {
  DataView dv =mydataDT.DefaultView;
  dv.RowFilter = "parentcode=" + parentid;
  TreeNode tn;
  foreach (DataRowView drv in dv)
  {
  tn = new TreeNode();
  tn.Text = drv["parentcode"].ToString()+"_" + drv["selfcode"].ToString() + drv["orgname"].ToString();
  tn.Value = drv["selfcode"].ToString();
  tns.Add(tn);

  InitTree(tn.ChildNodes, tn.Value);
  }
  } 

  protected void Button2_Click(object sender, EventArgs e)
  {
  BindDataDT();
  TreeNode node = new TreeNode();
  node.Text = "办事机构";
  node.Value = "0";
  InitTree(TreeView2.Nodes, "0");
  }

请问这有问题吗 怎么老通不过了报错

[解决办法]
抱什么错,错误信息给出来撒
[解决办法]
先确认你的mydataDT 有没有取到数据吧,跟踪一下就看出来了
[解决办法]
改成如下

C# code
 protected void Button2_Click(object sender, EventArgs e)     {         BindDataDT();         TreeNode node = new TreeNode();         node.Text = "办事机构";         node.Value = "0";         TreeView2.Nodes.Add(node);          InitTree(TreeView2.Nodes[0].ChildNodes, "0");     }
[解决办法]
tn.Value

修改为

tn.NodeData
[解决办法]
我总感觉你这种邦定怎么改都会有问题。。。
我的做法是先帮第一级节点,之后再开始调用递归。。

给你找个例子参考一下。。。

http://topic.csdn.net/u/20070921/16/6e0f507d-b5e3-43b6-a07a-e12031bdd704.html

虽然这里边只绑了2级菜单,多级的话你可以在addchildmenu1继续调用addchildmenu1。。。。

热点排行