2014-02-07 5 views
0

Я читал много жалоб на деревопанель, теперь у меня проблемы с ним.Дубликат узла дерева

Первое, что пейджинг в treegrid работает некорректно. Я нашел решение в другом сообщении, которое не работает, поэтому я пытаюсь исправить это для всех.

Во-вторых, мне нужна помощь. При первом расширении родительского узла он вызывает вызов сервера и правильно отображает его. Однако, когда я рушится, а затем снова разворачиваю его, он будет рисовать одного и того же ребенка дважды. Дерево падает, показывая эту ошибку:

Uncaught TypeError: Cannot read property 'internalId' of undefined 

После работы над ним, я обнаружил, что проблема не тогда, когда он вставляет его снова, но в функции beforeitemexpand. Он добавляет один и тот же ребенок дважды, заставляя js и treestore содержать 2 узла с тем же internalId, что, в свою очередь, вызывает сбой.

Любые идеи?

ответ

0

Путем работы с магазинами деревьев немного сложно. Я подозреваю, что проблемы, которые возникают у вас, связаны с idProperty моделей , хранящиеся в вашем магазине.

Я столкнулся с этими проблемами. Я узнал, что у вас не может быть двух записей с одинаковой идентичностью в нескольких местах в дереве. Например, если ваше дерево представляло файловую систему, и вы скопировали один и тот же файл в два каталога. Если у вашего файла был idProperty (по умолчанию задан id), хранилище помещает вашу файловую модель в хэш-код с идентификатором, независимо от его пути в дереве.

Предлагаемое решение заключалось в том, чтобы либо не иметь идентификатор вообще (не очень хорошее решение для редактируемой сетки дерева), либо установить составной ключ, который учитывает всю цепочку узлов до корня до уникальность грантополучателя в дереве.

Как только вы пройдете эти проблемы, дерево работает достаточно хорошо. О, и подкачки дерева ... не думайте, что это произойдет в ближайшее время, уже спросил.

+0

hey dbring, спасибо за ответ !, Проблема, которую я вижу, состоит в том, что она дважды вызывает вызов, возможно, она имеет какое-то отношение к идентификатору, но я никогда не настраиваю идентификатор узлов, и он все еще дублирует то же ... У меня есть работа в этом, как 3 дня, и я не могу решить эту проблему :( – user3272931

+0

Вам нужно будет опубликовать какой-то код или еще лучше jsfiddle, который демонстрирует ваше поведение – dbrin

Смежные вопросы