关于c#中treeview节点的收缩与展开(.net web)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于c#中treeview节点的收缩与展开(.net web)相关的知识,希望对你有一定的参考价值。

treeview 控件中显示的节点数据默认的情况下是全部展开的,由于节点太多,我想只显示同一级别的根节点,使根节点下的子节点是收缩在根节点里面的,当点击对应的根节点的时候,才显示对应的子节点。再点击另一根节点的时候其他根节点闭合,在显示这个根节点下的子节点。
//不知道我说的意思你看明白了没有???

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

foreach (TreeNode node in treeView1.Nodes)

if (!node.Equals(sender))

bool isChild = false;
foreach (TreeNode C_node in node.Nodes)

if (C_node.Equals(sender))

isChild = true;
break;


if (!isChild)

node.Collapse();





提供一种思路,欲功能完善可自己研究
参考技术A Expand=true;
private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)


if(this.TreeView1.SelectedNodeIndex!="0")

WhichTreeNodeID = System.Convert.ToInt32(this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).ID);
WhichTreeNodeText = this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).Text;
this.BindXmlFileData(WhichTreeNodeID);

else


this.BindData();


本文来自: 乘风原创程序(http://www.qqcf.com) 详细出处参考:http://study.qqcf.com/web/716/224288.htm

参考资料:http://study.qqcf.com/web/716/224288.htm

参考技术B Expand=true;
private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)


if(this.TreeView1.SelectedNodeIndex!="0")

WhichTreeNodeID = System.Convert.ToInt32(this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).ID);
WhichTreeNodeText = this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).Text;
this.BindXmlFileData(WhichTreeNodeID);

else


this.BindData();


本文来自: 乘风原创程序(http://www.qqcf.com) 详细出处参考:http://study.qqcf.com/web/716/224288.htm

参考资料:http://study.qqcf.com/web/716/224288.htm

c# treeview控件 点击根节点后展开相应的子节点,如何实现

说的详细点,最好能把关键代码写出来

参考技术A public static string parentid = "";
protected void Page_Load(object sender, EventArgs e)

if (!IsPostBack)

if (parentid != "")

TreeNode tn = TreeView1.FindNode(parentid);
tn.ExpandAll();



protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)

parentid = TreeView1.SelectedNode.Parent.ValuePath; //取父节点的路径,用於保存状态,,,展开节点。
本回答被提问者采纳
参考技术B private System.Windows.Forms.TreeView tv_Demo;//声明
tv_Demo.Click += new System.EventHandler(tv_Demo_Click);/*绑定单击事件*/
//单击事件响应函数
private void tv_Demo_Click(object sender, EventArgs e)

string nodeText=tv_Demo.SelectedNode.Text;/*获得子节点的名称*/
参考技术C <asp:TreeNode Expanded="False" SelectAction="Expand" Text="电子刊物" Value="1111d" ImageUrl="~/images/menu/file_folder.gif">
<asp:TreeNode ImageUrl="~/images/menu/file_folder.gif" Text="<a href='MyAffairs/MyElecBook.aspx ' target='rform' onclick='parent.UploadComplete();'>电子刊物浏览</a>" Value="1111d1" SelectAction="None">
</asp:TreeNode>
<asp:TreeNode ImageUrl="~/images/menu/file_folder.gif" Text="<a href='MyAffairs/ElecBook.aspx ' target='rform' onclick='parent.UploadComplete();'>电子刊物管理</a>" Value="1111d2" SelectAction="None">
</asp:TreeNode>
</asp:TreeNode>
看看这个实例对你有帮助没!
参考技术D 响应选择更改事件,调用expand方法

以上是关于关于c#中treeview节点的收缩与展开(.net web)的主要内容,如果未能解决你的问题,请参考以下文章

.net中如何使treeview只让选中节点展开,其它节点收缩

treeview 如何展开选中的节点,其它节点收缩。

WPF TreeView节点的展开和收缩

C# winform treeview 节点展开状态的图标设置

treeview 单击父节点事件

C# winform treeview 节点展开状态的图标设置