日期:2014-05-18  浏览次数:20444 次

treeview显示树形表时,节点重复出现两次(在线等)
treeview显示树形表时,节点重复出现两次,不知道什么原因??
高手帮帮忙

------解决方案--------------------
是每个都重复呢还是个别的重复
------解决方案--------------------
可能是你在加载树的时候有问题
------解决方案--------------------
代码贴出来看看撒,不然怎么找
------解决方案--------------------
应该写点关键代码
------解决方案--------------------
public void AddChildNode(string sqltj,TreeNode tn)
{
string sql = "select * from AddNodes where ParentID ";//查询该父节点下还有无子节点SQL语句
if (sqltj == "NULL ")
{
sql += " IS NULL ";//也就是说是根节点下面的第一级子节点
}
else
{
sql += "= " + sqltj;//查询sqltj下有无子节点
}

DataTable dt = this.dtDataBind(sql);
if (dt.Rows.Count == 0)
{
return;
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)//循环DataTable表中子节点记录
{
TreeNode tnchild = new TreeNode();//创建新的子节点
tnchild.Text = dt.Rows[i][1].ToString();//为新建子节点的文本赋值
tnchild.Value = dt.Rows[i][1].ToString();//为新建子节点的Value赋值
tnchild.Expanded = true;//设置为不展开节点
tn.ChildNodes.Add(tnchild);//添加此节点的下一级子节点

this.AddChildNode(dt.Rows[i][0].ToString(),tnchild);
}
}
}
------解决方案--------------------
照着 改成这样
------解决方案--------------------
public DataTable dtDataBind(string sql)
{
this.conString();
da = new SqlDataAdapter(sql,con);
dt = new DataTable();
da.Fill(dt);
return dt;
}
------解决方案--------------------
SqlConnection conn=new SqlConnection();
conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings[ "DB "].ToString();
SqlCommand cmd=new SqlCommand( "select * from sort ",conn);
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet( "sort ");
da.Fill(ds);


for(int ni=0;ni <ds.Tables[0].Rows.Count;ni++)
{
TreeNode Node=new TreeNode();
Node.Text = ds.Tables[0].Rows[ni][ "sortname "].ToString();
Node.Target=ds.Tables[0].Rows[ni][ "sortid "].ToString();
node8.Nodes.Add(Node);
int n=Int32.Parse(ds.Tables[0].Rows[ni][ "sortid "].ToString());

}