我对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。由于我是新手,请放轻松。 附言对不起,英语不好或解释不好,如果您需要更多说明,请询问。