关于TreeView重新绑定后,如何保存重新绑定前的展开状态的问题?

u3sljflsja 2014-05-28 10:12:03
一、问题前描述:
环境:VS2012 C# WebFrom
1.页面上有一个TreeView控件,递归绑定到数据库,没有加NavigateUrl属性;
2.对TreeView控件进行增删改,在TreeView1_SelectedNodeChanged事件中会得到当前点击的节点数据,并打开增删改的DIV,DIV里面有Button控件;
3.在Button_Click事件中增删改成功后,重新绑定到TreeView控件,重新绑定后,可以全展开或展开初始状态。

二、需要解答的问题:
问题:TreeView重新绑定后,如何保存重新绑定前的展开状态的问题?
...全文
149 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
u3sljflsja 2014-05-28
  • 打赏
  • 举报
回复
引用 6 楼 u010781074 的回复:
额。。。他有个状态的。。。 节点.Expanded==true就是展开
是这样子吗?
            foreach (TreeNode zt in TreeView1.Nodes)
            {
                if (zt.Value == XMLvalue.Value)
                {
                    zt.Expanded = true;
                }
            }
刘小安 2014-05-28
  • 打赏
  • 举报
回复
额。。。他有个状态的。。。 节点.Expanded==true就是展开
u3sljflsja 2014-05-28
  • 打赏
  • 举报
回复
引用 4 楼 u010781074 的回复:
[quote=引用 3 楼 u3sljflsja 的回复:] [quote=引用 2 楼 bdmh 的回复:] 记录一下当前展开节点的id,重新加载后,找到这个节点,然后展开
如何找到这个节点,请明示。 比如ID=20; 如何写下面的代码?[/quote] 重新绑定之前,遍历下树,判断是否展开,把展开的ID获取到,然后重新绑定的时候判断ID,符合就展开。[/quote] 如何判断是否展开?
刘小安 2014-05-28
  • 打赏
  • 举报
回复
引用 3 楼 u3sljflsja 的回复:
[quote=引用 2 楼 bdmh 的回复:] 记录一下当前展开节点的id,重新加载后,找到这个节点,然后展开
如何找到这个节点,请明示。 比如ID=20; 如何写下面的代码?[/quote] 重新绑定之前,遍历下树,判断是否展开,把展开的ID获取到,然后重新绑定的时候判断ID,符合就展开。
u3sljflsja 2014-05-28
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
记录一下当前展开节点的id,重新加载后,找到这个节点,然后展开
如何找到这个节点,请明示。 比如ID=20; 如何写下面的代码?
bdmh 2014-05-28
  • 打赏
  • 举报
回复
记录一下当前展开节点的id,重新加载后,找到这个节点,然后展开
刘小安 2014-05-28
  • 打赏
  • 举报
回复
这个没办法吧,重新绑定后,树结构重置,之前的状态都清空了的。你只能手动更改哪个节点展开
刘小安 2014-05-28
  • 打赏
  • 举报
回复
引用 7 楼 u3sljflsja 的回复:
[quote=引用 6 楼 u010781074 的回复:] 额。。。他有个状态的。。。 节点.Expanded==true就是展开
是这样子吗?
            foreach (TreeNode zt in TreeView1.Nodes)
            {
                if (zt.Value == XMLvalue.Value)
                {
                    zt.Expanded = true;
                }
            }
[/quote] 差不多的,但是你要考虑到是否还有子节点

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧