3 回答
TA贡献1890条经验 获得超9个赞
while (sdr.Read())
{
newNode1.Nodes[0].Nodes.Add(sdr[1].ToString());
}
这样。就是“电话薄”为根。数据库中读取的数据为分支。
你那样“电话薄”和读出来的数据会变成同一级的。
TA贡献1934条经验 获得超2个赞
首先更正:TreeNode他不是控件,他是一个对象名(节点对象),treeView1才是控件。
TreeNode newNode1 = treeView1.Nodes.Add("电话簿");
这句话的意思是,定义一个TreeNode 节点类型对象,名称为newNode1 ,并为他赋值,赋值的内容是:treeView1控件的根节点Nodes,因为本来treeView1控件没有根节点,所以应该先添加根节点Nodes.Add("电话簿")根节点显示的内容就是电话簿。
newNode1.Nodes.Add(sdr[1].ToString());
这个意思是,在根节点newNode1处添加子节点,显示内容是sdr[1].ToString()。
Nodes不是根的意思,是“儿子”的意思。treeView1的Nodes,“儿子”可不就是根节点呗!newNode1.Nodes,这个是儿子的儿子,那就是二级节点了。
TA贡献2039条经验 获得超8个赞
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Admin_WareHouseTree : System.Web.UI.Page
{
WMS_Bll.Bll_WareHouses Bll_warehouse = new WMS_Bll.Bll_WareHouses();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DisplayRoot();
}
}
private void DisplayRoot()
{
DataSet ds_root = new DataSet();
ds_root=Bll_warehouse.GetList("ParentWareHouseID="+0);
if (ds_root.Tables[0].Rows.Count>0)
{
foreach (DataRow dr in ds_root.Tables[0].Rows)
{
TreeNode tn = new TreeNode();
tn.Text =dr["WareHouseID"].ToString()+","+ dr["Description"].ToString();
tn.Value =dr["WareHouseID"].ToString();
tn.Target = "content";
tn.NavigateUrl = "~/Admin/WareHouseMain.aspx?id=" + dr["WareHouseID"].ToString();
this.warehouseTree.Nodes.Add(tn);
DisplayRoot_child(tn);
}
}
}
private void DisplayRoot_child(TreeNode root)
{
DataSet ds_ch = new DataSet();
int parID=Convert.ToInt32(root.Value);
ds_ch = Bll_warehouse.GetList("ParentWareHouseID="+parID);
if (ds_ch.Tables[0].Rows.Count>0)
{
foreach (DataRow dr in ds_ch.Tables[0].Rows)
{
TreeNode tn = new TreeNode();
tn.Text = dr["WareHouseID"].ToString()+","+dr["Description"].ToString();
tn.Value = dr["WareHouseID"].ToString();
tn.Target = "content";
tn.NavigateUrl = "~/Admin/WareHouseMain.aspx?id=" + dr["WareHouseID"].ToString();
root.ChildNodes.Add(tn);
DisplayRoot_child(tn);
//this.warehouseTree.Nodes.Add(tn);
}
}
}
}
添加回答
举报
