在一个项目中用到了TreeView,但是每次刷新TreeView的数据之后,所有的节点都会折叠起来

非常影响用户体验,使用下面的方法可以解决这个问题

string LastSelectNode = "";
//先保存当前选中的节点的key
LastSelectNode = treeView1.SelectedNode.Name;
//刷新数据
TreeView_Load_();
//查找节点并重新选中
SearchNodes(LastSelectNode, treeView1.Nodes[0]);
        #region TreeView查找并选中节点
private void SearchNodes(string SearchText, TreeNode StartNode)
{
while (StartNode != null)
{
if (StartNode.Name.ToLower().Contains(SearchText.ToLower()))
{
// CurrentNodeMatches.Add(StartNode);
treeView_AfterSelect_bit = false;
treeView1.SelectedNode = StartNode;
treeView1.SelectedNode.Expand();
treeView1.Select();
treeView_AfterSelect_bit = true;
} if (StartNode.Nodes.Count != 0)
{
SearchNodes(SearchText, StartNode.Nodes[0]);//递归搜索
}
StartNode = StartNode.NextNode;
}
}
#endregion

C# TreeView查获节点并选中节点的更多相关文章

  1. TreeView查获节点并选中节点

    TreeView查获节点并选中节点如果有多个节点则会继续查找下一个节点 支持关键字搜索 private void SearchNodes(string SearchText, TreeNode Sta ...

  2. treeview 点击时选中节点

    private void tv_WebList_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { Point clickPo ...

  3. C# WinForm设置TreeView选中节点

    这里假定只有两级节点,多级方法类似.遍历节点,根据选中节点文本找到要选中的节点.treeView.SelectedNode = selectNode; /// <summary> /// ...

  4. asp.net 实现treeview 选中父节点其子节点也选种中 选中子节点其父节点与根节点也被选中

    1.在 Page_Load(object sender, EventArgs e) 里面加入: TreeView1.Attributes.Add("onclick", " ...

  5. javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中;子节点全部没选中,则父节点也会没选中。

    <script type="text/javascript"> function public_GetParentByTagName(element, tagName) ...

  6. DELPHI TreeView 文件目录树和 设置节点图标 完整

        DELPHI TreeView 文件目录树和 设置节点图标   下载地址 http://download.csdn.net/detail/teststudio/6448293     需要制作 ...

  7. Delphi Treeview 用法(概念、属性、添加编辑插入节点、定位节点、拖拽等)

    今天再细研究了一下Treeview的用法,网上虽然总结了很多,但是还是有很多节点没有讲到了,也给使用中遇到很多问题.特地总结一下: 1.概念 Treeview用于显示按照树形结构进行组织的数据.Tre ...

  8. ASP.Net中的TreeView控件中对节点的上移和下移操作

    Web中的TreeView中的没有PreNode和NextNode属性. 但它的集合属性中有一个IndexOf属性,从而能够找到它的前一个节点知后一个节点. TreeView中要么只有一个根节点:要么 ...

  9. 通过ajax 后台传递的 区域id 选中ztree的节点 并展开节点

    代码如下: < script type = "text/javascript" >    var flag = "<%=request.getParam ...

  10. C# TreeView的CheckBox 父/子节点点击联动选择效果

    注: 点击时请正常速度点击,不然会出现“奇怪”现象!!! /// <summary> /// 节点点击 子级->同级->父级 /// </summary> /// ...

随机推荐

  1. Spring Boot--自定义异常类

    1.业务异常 /** * @Description: 业务异常 * @Author: Yaoson * @Create: 2022/4/21 0:05 **/ public class Busines ...

  2. JavaScript案例:短信验证码倒计时

    展示效果: 代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  3. [前端js] 爬取亿图脑图大纲

    这段程序使看到了好的东西,又没有零钱的产物 还是老师让画思维导图我不想画还想白嫖的想法 用时20分钟 就拿这个来作为例子 https://mm.edrawsoft.cn/template/286842 ...

  4. [Vue warn]: Do not use built-in or reserved HTML elements as component id: text 错误的解决办法

    引入的text 没用,要么注释掉,要么引用

  5. Pytorch实战学习(八):基础RNN

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Basic RNN ①用于处理序列数据:时间序列.文本.语音..... ②循环过程中权重共享机制 一.RNN原理 ① X ...

  6. 地址重写了,只是ip 没转发,应该是9999那个才对,rewrite /sbgl/(.*) http://127.0.0.1:9999/$1 permanent;,这样,

    记录想nginx搞路径重写的失败历程. 1.想将从nginx发出的127.0.0.1:80 请求过来的带sbgl的字眼去掉,然后,代理为127.0.0.1:9999, 所以我就百度出这个  这个  r ...

  7. GIS空间分析和建模复习重点2

    10.缓冲区和缓冲区分析的概念 (1)缓冲区分析分为 点缓冲区分析:一般是围绕点对象建立一定半径的圆形区域. 线缓冲区分析:沿着线的两侧建立距离为缓冲距的带状区域. 面缓冲区分析:是沿着多边形的边界建 ...

  8. ServiceEntry与WorkloadEntry

    ServiceEntry: 用于将未能自动添加至网格中的服务,以手形式使得内发 现机制能够访问或路由到这些服务.网格外部的服务       运行于 Kubernetes 上,但却非为 Istio 网格 ...

  9. Delphi 从字符串中提取数字

    function GetNumberFromStr(strIn: string; sFlag: string): string; var i: Integer; tempStr: string; be ...

  10. RecyclerView setHasFixedSize(true)

    RecyclerView setHasFixedSize(true)当recycleview大小高宽不变的时候使用这个,可以提升效率