FineUI 官方论坛

标题: Tree选中事件,清除历史选中节点 [打印本页]

作者: yaberhan    时间: 2015-7-10 11:17
标题: Tree选中事件,清除历史选中节点
在弹出窗口中有一个可以多选的树,第一次选中后使用GetCheckedNodes()获得的选中节点是正确的,第二次在弹出窗口中在选中其他节点(没有选第一次选中的),获得的结果集中还包括第一次的选中节点,如何清除历史选中节点

作者: yaberhan    时间: 2015-7-10 11:26
自己遍历树解决了:
TreeNodeCollection nodes = Tree1.Nodes;
            foreach (var item in nodes)
            {
                item.Checked = false;
            }
Tree有没有方法或者属性可以直接设置节点是否选中呢?
作者: zy32002    时间: 2015-10-14 16:47
yaberhan 发表于 2015-7-10 11:26
自己遍历树解决了:
TreeNodeCollection nodes = Tree1.Nodes;
            foreach (var item in nodes)

你这方法只能给顶级的node赋值
作者: zy32002    时间: 2015-10-14 16:47
正好写个方法解决了。
  /// <summary>
    /// 设置选中项
    /// </summary>
    /// <param name="tree">tree控件</param>
    /// <param name="ids">nodeid集合</param>
    public static void CheckedNodeIDs(FineUI.Tree tree, string[] ids)
    {
        TreeNode tn;

        for (int i = 0; i < ids.Length; i++)
        {
            tn = tree.FindNode(ids[i]);
            tn.Checked = true;
        }
    }




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4