JsTree Custom Icons с плагином Json_data - PullRequest
       14

JsTree Custom Icons с плагином Json_data

0 голосов
/ 17 августа 2011

Я использую JsTree на веб-сайте MVC. Я использую плагин json_data для заполнения дерева. Мое действие Controller возвращает JsonResult, используя класс, который я создал для представления узлов. Я читал документацию о том, как задать пользовательский значок для определенного узла, но я не могу понять, как это правильно. Кажется, предполагается, что данные должны быть объектом, содержащим строки заголовков и значков, но это остановило загрузку дерева, когда я попробовал. Структура классов, которую я сейчас использую, выглядит следующим образом.

public class NodeModel
{
    public string data;
    public NodeAttribute attr;
    public string state = "closed";
    public string icon = "default/file.png";
}

public class ParentNodeModel : NodeModel
{
    public List<NodeModel> children;
}

public class NodeAttribute
{
    public string id;
    public string type;
}

Кто-нибудь знает, в каком формате должны выглядеть данные json, чтобы дать каждому узлу индивидуальный значок? Я хотел бы избежать использования плагина типов, если это возможно.

Решено

Изменение структуры моего класса для преобразования строки данных в новый объект было на самом деле правильным форматом. Но с новой структурой произошел сбой другой части моего кода (исправлено сейчас). Теперь классы будут выглядеть так:

public class NodeModel
{
    public NodeData data;
    public NodeAttribute attr;
    public string state = "closed";
}

public class NodeData
{
    public string title;
    public string icon = "path/file.png";
}

1 Ответ

0 голосов
/ 17 августа 2011

Кажется, что ваши объекты определены правильно.Из документации jsTree:

, если icon содержит косую черту / рассматривается как файл, используемый для фона.в противном случае - он добавляется как класс к узлу "ins"

Я предполагаю, что "default / file.png" был добавлен как класс CSS к узлу "ins", так что, возможно, косая черта'/' должен быть первым символом, попробуйте установить значение значка как "/default/file.png".

Также вы можете проверить, как мы используем jsTree в нашем проекте :

...