710 Star 6.6K Fork 1.3K

GVPSunny / SunnyUI

 / 详情

UINavMenu 重新加载NODE 出现随机选中节点问题

已完成
创建于  
2024-01-26 20:33

特别说明:
请先给项目点击Star支持本项目,未支持本项目的,Issue不一定会得到回复!!!
如果Issue没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效 Issue
提交Issue前请先用Gitee最新代码再次进行测试,旧版本的有些问题已经随着更新已经解决无需再提交。

SunnyUI 版本号

哪个版本号?
V3.6.2


SunnyUI 引用来源

  • Nuget
  • Gitee
  • Github
  • 其他

操作系统

  • Win7
  • Win10
  • Win11
  • WindowsXP
  • 其他

.Net运行环境版本

  • .Net Framework4.0
  • .Net Framework4.5
  • .Net Framework4.7.2
  • .Net6
  • 其他

描述你的问题

使用UINavMenu时 需要更新整个树节点数据 ,当重新加载新的treeNodes重绘后出现随机选中节点的情况 整个tree随机展开 毫无规律 是否存在重新加载treeNodes解决办法


问题贴图

请贴出发生问题时候的截图:


问题代码

重新加载TreeNodes代码 (新树节点数据都正常就是随机展开 随机选中节点)
uiNavMenuTree.ClearAll();
uiNavMenuTree.Nodes.AddRange(TreeNodes);


期待结果

期待的结果是?


评论 (8)

雙渔蓙 创建了任务
雙渔蓙 修改了描述
展开全部操作日志

可以通过SelectedNode选中节点

试过很多手段了 都没用 调试数据都正常 选中节点也都正确 但是重新渲染完树就是随机状态 随机展开 随机选中节点 每次刷新都不一样

uiNavMenuTree只有初次加载的时候没问题 控制选中节点也没问题 但后续只要刷新整个TreeNode 就出问题 节点越多情况越严重

Sunny 任务状态待办的 修改为已完成

你发个Demo给我看看,UINavMenu不是新写的控件,UINavMenu是继承的原生的TreeView。是不是你的用法原生的TreeView也有问题。原生TreeView没问题,那就是用法有问题。

您邮箱是多少 我把测试Demo发您邮箱

我用静态数据测试了 UINavMenu没问题 不过我的项目是从数据库动态递归组织的TreeNode 只动了Tag、Text、Name三个属性 目前树的数据结构应该是没问题 只是重载就乱而且是那种随机的 初次渲染并没问题,但是改个菜单名什么的 重新组织TreeNode就出现这个问题 很诡异 我有空再慢慢测下细节 先这样吧

是不是和按钮事件有关系 因为修改按钮绑定在UINavMenu上的图标 有时候会出现点击图标 然后取消操作这个节点就展开了 节点还有个单击事件 这个时候清空TreeView的所有节点 导致这个事件到不到对象出错 从而影响整个TreeView 我网上找了TreeView随机展开的原因 有提到是TreeView内部发生一些错误会导致这样的现象

还真是 我把编辑按钮 放在其他地方就没问题了~ 你有啥能解决这个问题的办法没 就是上面提到的操作按钮绑定在TreeView 节点上 然后点击按钮重载treeNode 应该是内部事件会出错

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
416720 yhuse 1585144111
C#
1
https://gitee.com/yhuse/SunnyUI.git
git@gitee.com:yhuse/SunnyUI.git
yhuse
SunnyUI
SunnyUI

搜索帮助