treeview显示树形表时,节点重复出现两次,不知道什么原因??
高手帮帮忙
高手帮帮忙
解决方案 »
- FooterTemplate 中控件绑定数据的问题
- 请问,Attributes添加属性不起作用呢?
- 请asp.net高手来帮我看一下这个程序的算法
- 调查:大家开发ajax用的是什么框架?ajax.net jquery 还是其它的什么?
- ■■SQL语句中的“Contain”跟“like”有什么区别呢?
- 可以这样用datagrid的ItemDataBound事件吗?
- sql ASP.NET 怎么比较日期?只比较年月
- 到今天为此可注册的3个字的.net .cn域名,发布域名查询工具
- 怎样实现这样的delete语句?
- C#中有没有函数返回两个日期之间的间隔值?
- .net输出Excel时中文出现乱码
- DataAdapter填充DataSet问题
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!this.IsPostBack)
{
db dbase = new db();
conn = dbase.getConn();
try
{
conn.Open();
ds = CreateDataSet();
DataTable dt = new DataTable();
dt = ds.Tables[0];
InitTree(dt, null, "0");
this.TreeView1.DataBind();
}
finally
{
conn.Close();
conn.Dispose();
}
}
}
//建立数据集
private DataSet CreateDataSet()
{
SqlDataAdapter sda;
DataSet ds;
string cmdselect;
cmdselect = "select * from tree";
sda = new SqlDataAdapter(cmdselect, conn);
ds = new DataSet();
sda.Fill(ds, "tree");
return ds;
} //建树的基本思路是:从根节点开始递归调用显示子树
private void InitTree(DataTable dt, TreeNode node, string id)
{
DataRow[] rows = dt.Select("ParentId='" + id + "'");//筛选出属于父节点“node”的子节点集合 foreach (DataRow drv in rows) //循环子节点集合
{
TreeNode tn = new TreeNode();
tn.Value = drv["NodeId"].ToString(); //存放节点ID
tn.Text = drv["NodeName"].ToString(); //设置节点名称
//theNode.text="<span title=" & txt & ">" & txt & "</span>"
tn.ImageUrl = "image/folderopen.gif";
if (node == null | id == "0")
{
this.TreeView1.Nodes.Add(tn); //添加至根节点
}
else
{
node.ChildNodes.Add(tn);//添加子节点
}
this.InitTree(dt, tn, tn.Value);//递归,添加该节点的子节点
} }
{
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);
}
}
}
{
this.conString();
da = new SqlDataAdapter(sql,con);
dt = new DataTable();
da.Fill(dt);
return dt;
}
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()); }