解决方案 »

  1.   

    是  点击文字,前边的Checkbox也选中么??
      

  2.   

    不是啊  是加载角色权限数据时 ,treelist那自动选中啊,不是手动去选。意思是每个角色用的权限都不同,但怎么在treelist那勾选出来显示
      

  3.   

    你遍历它的 TreeListNode节点,通过 GetDataRecordByNode获取绑定的数据类,根据你的数据类ID,判断是否与传入的值相等,如果相等,就设置Node的Checked为True。
      

  4.   

    你遍历它的 TreeListNode节点,通过 GetDataRecordByNode获取绑定的数据类,根据你的数据类ID,判断是否与传入的值相等,如果相等,就设置Node的Checked为True。
    怎么遍历他的所有节点? 用foreach (TreeListNode n in treelist1.Nodes)  好像遍历不到子节点。。
      

  5.   

    你遍历它的 TreeListNode节点,通过 GetDataRecordByNode获取绑定的数据类,根据你的数据类ID,判断是否与传入的值相等,如果相等,就设置Node的Checked为True。
    怎么遍历他的所有节点? 用foreach (TreeListNode n in treelist1.Nodes)  好像遍历不到子节点。。
      

  6.   

    你遍历它的 TreeListNode节点,通过 GetDataRecordByNode获取绑定的数据类,根据你的数据类ID,判断是否与传入的值相等,如果相等,就设置Node的Checked为True。
    子节点可以设置选中了,但对应父节点没有显示半选中状态。这情况如何解决?要的效果是这样的
      

  7.   

    加了两个方法解决了,不过也谢谢你的提醒!!!!!        /// <summary>
            /// 设置子节点的状态
            /// </summary>
            /// <param name="node"></param>
            /// <param name="check"></param>
            private void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check)
            {
                for (int i = 0; i < node.Nodes.Count; i++)
                {
                    node.Nodes[i].CheckState = check;
                    SetCheckedChildNodes(node.Nodes[i], check);
                }
            }        /// <summary>
            /// 设置父节点的状态
            /// </summary>
            /// <param name="node"></param>
            /// <param name="check"></param>
            private void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check)
            {
                if (node.ParentNode != null)
                {
                    bool b = false;
                    CheckState state;
                    for (int i = 0; i < node.ParentNode.Nodes.Count; i++)
                    {
                        state = (CheckState)node.ParentNode.Nodes[i].CheckState;
                        if (!check.Equals(state))
                        {
                            b = !b;
                            break;
                        }
                    }
                    node.ParentNode.CheckState = b ? CheckState.Indeterminate : check;
                    SetCheckedParentNodes(node.ParentNode, check);
                }
            }