asp.net treeview的使用

要做一个树形结构,内容从数据中读出。从viewcity中取出父结点,然后再从另一个表中根据父结点的ID取出子结点。具体操作应该是怎么样的,第一次使用这个控件,麻烦说得详细... 要做一个树形结构,内容从数据中读出。从viewcity中取出父结点 ,然后再从另一个表中根据父结点的ID取出子结点。
具体操作应该是怎么样的,第一次使用这个控件,麻烦说得详细一点,谢谢
展开
 我来答
百度网友7f75c10
2010-02-23 · 超过10用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:37.8万
展开全部
这个是一个循环树,物闷誉下面给你我写的实例:
for (int i = 0; i < dsdoc.Tables[0].Rows.Count; i++)//找出所有父节点
{
TreeNode node = new TreeNode();
node.Text = dsdoc.Tables[0].Rows[i]["teamname"].ToString();
node.Value = dsdoc.Tables[0].Rows[i]["teamid"].ToString();
node.ImageUrl = Config.teamPic;
treenode(node); //调用循环查找的方法
TreeView1.Nodes.Add(node);
}

public void treenode(TreeNode parnetnode)/罩段/循环遍历viewcity的子节点罩蔽
{
string teamid = parnetnode.Value;
DataSet ds = Docment.getdoc(teamid);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
TreeNode childnode = new TreeNode();
childnode.Text = ds.Tables[0].Rows[i]["docname"].ToString();
childnode.Value = ds.Tables[0].Rows[i]["id"].ToString();
childnode.ImageUrl = Config.docPic;
parnetnode.ChildNodes.Add(childnode);
}
}
else
{
return;
}
}
看不懂再问
百度网友5a118d27d
2010-02-23 · 超过19用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:70.4万
展开全部
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string s = "租码郑模脊"弊颂;
s = e.Node.Name.ToString();

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
showsuns
2010-02-23
知道答主
回答量:41
采纳率:0%
帮助的人:22.9万
展开全部
直接写查询语句 这个应该会写把,然后调用递归方法
protected void Page_Load(object sender, EventArgs e)
{
LoadTree(TreeView1, "1");//根节点id
}
/// <summary>
/// 检索root
/// </summary>
/// <param name="tv">建立根</param>
/// <param name="strParentId">根节点名称</param>
public void LoadTree(TreeView tv, string strParentId)
{
tv.Nodes.Clear();
SqlCommand cmd = sct.GetCommandStr("select 党组织编渗坦码,党组织名称 from T_Party where [id] =" + strParentId);//在这里更换你表的查询语句
DataTable dt = sct.GetDataSet(cmd, "T_Party");
string str = "渗悉", strE = "";
if (dt.Rows.Count > 0)
{
str = dt.Rows[0]["党组织编码"].ToString();
strE = dt.Rows[0]["党组织名称"].ToString();
}
if (str != "")
{
TreeNode node = new TreeNode();
node.Text = strE;
node.Value = strParentId;
node.NavigateUrl = node.NavigateUrl = "Default.aspx?id=" + node.Text + "";
//给节点添加客户端脚本
//node.Value = node.Value + node.Parent.Text + "\" onclick=\"javascript:LoadPage('" + node.Value + "');";
tv.Nodes.Add(node);

SqlCommand cmd1 = sct.GetCommandStr("select * from T_Party where 党丛喊桐组织编码 like '" + str + "%'");//在这里更换你表的查询语句

DataTable dt1 = sct.GetDataSet(cmd1, "T_Party1");
CreateNode(node, dt1);
}
}
/// <summary>
/// 递归子节点
/// </summary>
/// <param name="node">树杈</param>
/// <param name="dt">对应该树杈的table</param>
private static void CreateNode(TreeNode node, DataTable dt)
{
DataRow[] dr = dt.Select("parentID=" + node.Value);

if (dr.Length > 0)
{
foreach (DataRow d in dr)
{
TreeNode tNode = new TreeNode();
tNode.Text = d["党组织名称"].ToString();
tNode.Value = d["id"].ToString();
tNode.NavigateUrl = "Default.aspx?id=" + tNode.Text + "";
//给节点添加客户端脚本
//tNode.Value = tNode.Value + tNode.Value + "\" onclick=\"javascript:LoadPage('" + tNode.Value + "');";
node.ChildNodes.Add(tNode);
tNode.Expanded = false;
CreateNode(tNode, dt);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laicaly
高粉答主

2010-02-23 · 醉心答题,欢迎关注
知道小有建树答主
回答量:3001
采纳率:74%
帮助的人:334万
展开全部
这里罩缺有详细的例隐闷迅子:灶此http://hi.baidu.com/laicaly/blog/item/4a87daf25190dfc87831aa19.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式