RadTreeView视觉混乱

时间:2018-08-14 04:58:27

标签: c# telerik treeview

我对Telerik及其功能非常陌生。对于我的用户管理,我决定向管理员显示TreeView来选择用户是否可以访问某些属性。但是,当我将鼠标指针悬停在复选框上时,每个文本框的标题都毁了!您在下图中看到: ]

A:处于正常形状的TreeView
B:将鼠标悬停在标题上时,TreeView
C:将鼠标悬停在复选框上时,TreeView

ASPX代码:

<asp:Panel ID="Panel1" runat="server" GroupingText="MenuAccess">
    <div style="overflow: auto; width: 230px; height: 200px; display: block; borderstyle: Solid;borderwidth: 1px">
        <telerik:RadTreeView runat="server" ID="RadTreeView1" CheckChildNodes="true" CheckBoxes="true" Font-Size="15px"
                             Visible="true" SelectedNodeStyle-BorderStyle="Dashed" ForeColor="Black" SelectedNodeStyle-BorderWidth="1px"
                             SelectedNodeStyle-Font-Bold="true" Font-Names="B Nazanin" NodeStyle-Font-Size="23px" NodeStyle-HorizontalPadding="2px">
        </telerik:RadTreeView>
    </div>
</asp:Panel>

后面的代码创建TreeView的项:

public void FillTreeViewForMenuDynamic(RadTreeNode n, int id = 0)
    {
        var list = db.AccessRightCatalogs.Where(x => x.ParentMenuId == id).ToList();

        foreach (var item in list)
        {
            RadTreeNode p = new RadTreeNode();
            p.Text = item.Title;
            p.Value = item.Id.ToString();
            n.Nodes.Add(p);
            if (userAccessList.Contains(item.Id))
                p.Checked = true;
            FillTreeViewForMenuDynamic(p, item.Id);
            if (item.Id == 5)
            {
                p.Checked = true;
                p.Enabled = false;
                p.ForeColor = Color.Black;
            }
        }
        if (list.Count > 0)
        {
            if (isparent(list[0].Title))
            {
                if (n.Text == "")
                {

                    int count = n.Nodes.Count;
                    List<RadTreeNode> t = new List<RadTreeNode>();
                    for (int i = 0; i < count; i++)
                    {
                        RadTreeNode temp = n.Nodes[i];
                        t.Add(temp);

                    }
                    for (int i = 0; i < t.Count; i++)
                    {
                        RadTreeView1.Nodes.Add(t[i]);
                    }
                }
                else
                    RadTreeView1.Nodes.Add(n);
            }

        }
    }

P.S。由于我是新手,请放轻松。 附言对不起,英语不好或解释不好,如果您需要更多说明,请询问。

0 个答案:

没有答案