asp.net treeview的使用
要做一个树形结构,内容从数据中读出。从viewcity中取出父结点,然后再从另一个表中根据父结点的ID取出子结点。具体操作应该是怎么样的,第一次使用这个控件,麻烦说得详细...
要做一个树形结构,内容从数据中读出。从viewcity中取出父结点 ,然后再从另一个表中根据父结点的ID取出子结点。
具体操作应该是怎么样的,第一次使用这个控件,麻烦说得详细一点,谢谢 展开
具体操作应该是怎么样的,第一次使用这个控件,麻烦说得详细一点,谢谢 展开
展开全部
这个是一个循环树,物闷誉下面给你我写的实例:
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;
}
}
看不懂再问
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;
}
}
看不懂再问
展开全部
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string s = "租码郑模脊"弊颂;
s = e.Node.Name.ToString();
}
{
string s = "租码郑模脊"弊颂;
s = e.Node.Name.ToString();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接写查询语句 这个应该会写把,然后调用递归方法
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);
}
}
}
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);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询