Как настроить вертикальный интервал для ASP. Net TreeView с флажком - PullRequest
0 голосов
/ 30 ноября 2010

Дисплей ужасен;между строками есть пробелы.

Я использую asp:treeview на своей веб-странице.Внешний вид настраивается с использованием скина. TreeViewSkin записывается в SkinFile.skin, доступный в App_Themes:

<asp:TreeView SkinID="TreeViewSkin" runat="server" ShowLines="true" ShowCheckBoxes="All" Style="margin-top:10px;">
  <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
  <NodeStyle Font-Names="Verdana" Font-Size="8pt" HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" />
  <ParentNodeStyle Font-Bold="False" />
  <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px" VerticalPadding="0px" />
</asp:TreeView>

. Для информации привязка данных выполняется методом BuildTreeview:

public static void BuildTreeView<T>(this IEnumerable<HierarchyNode<T>> hierarchy, TreeView treeView, string idName, string libName) where T : class
{
    TreeNode treeNode = null;
    var treeview = typeof(T);
    foreach (var obj in hierarchy)
    {
        var nameProperty = obj.GetType().GetProperty("Entity");
        if (nameProperty == null) continue;
        var value = (T)nameProperty.GetValue(obj, null);
        var property = treeview.GetProperty(idName, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
        var curElementIdValue = Convert.ToInt32(property.GetValue(value, null));

        var labelProperty = treeview.GetProperty(libName, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
        var labelValue = (string)labelProperty.GetValue(value, null);

        if (value != null)  treeNode = new TreeNode() {Text = labelValue, Value = curElementIdValue.ToString()};

        var childNodes = obj.GetType().GetProperty("ChildNodes");
        if (childNodes != null) {
            var propValue = childNodes.GetValue(obj, null);
            BuildTreeNode<T>(propValue as IEnumerable, treeNode, idName, libName);
        }
        if (treeNode != null) treeView.Nodes.Add(treeNode);
    }
}

Я не владелец кода;Я признаю, что код метода несколько неясен ... Не правильно ли показывать флажок?Я могу воспроизвести частично с Chrome с этим образец , но не в IE7.Я разочарован;)

1 Ответ

0 голосов
/ 08 сентября 2011

Я нашел обходной путь на blogs.msdn.com

The {DIV} tag generated height is only 1px instead of 20px. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...