2012-10-30 7 views
1

Я очень неопытный с SmartGWT и имею следующий вопрос:пользовательского TreeNode SmartGWT

мне удалось сделать библиотеку различных видов документов в дереве.

Для некоторых документов я хочу показать три значка, представляющие ссылки на другие сайты, далее я хочу показать какое-то описание под ними.

Я попытался написать свой собственный CustomTreeNode, также я посмотрел на setCellFormatter() и попытался перезаписать его без везения.

Можете ли вы дать мне несколько советов и подсказок, как достичь желаемой функциональности и что я должен иметь в виду?

Или есть хорошие учебники или книги на smartGWT, помимо apidocs и форума smartclient?

Любая помощь очень ценится !!

Это то, что дерево должно любопытное выглядеть следующим образом:

[+] node1
[+] node2
[-] node3
    - documentEntry
[+] node4
[- ] node5
    - изготовление на заказ documentEntry
          IMG IMG IMG
          текстового описание

[+] node6

EDIT: Благодаря замечанию я достиг закодировать дерево с 3-х различными типами документов, как лавровый лист (. pdf, .txt и ссылку на веб-адрес). У всех есть имя и разные значки, и при нажатии они имеют другое поведение. Но у меня все еще проблема, что мне еще нужно реализовать еще один специальный лист, который состоит из 3 икон, представляющих 3 веб-ссылки и под текстом описания. Значки должны быть интерактивными и содержать три разных веб-адреса.

2.Edit С пробкой и ошибкой, я думаю, я сделал небольшой шаг дальше. Я создал класс CustumTreeGrid, который перезаписывает метод createRecordComponent Treegrid и рисует динамическую форму над листом дерева. Теперь я заполняю эту форму текстовыми значками 3 и ссылками. Является ли это правильным/хорошим способом решить мою проблему, или есть лучший способ достичь желаемой функциональности? Я надеюсь, что кто-то может помочь мне

+0

Можно посмотреть http://stackoverflow.com/questions/12365887/how-can-i-configure-smartgwt-treegrid-to-use-different-types-of-objects/12368106#12368106, чтобы начать –

+0

спасибо, я посмотрю на это через несколько часов. надеюсь, это принесет мне еще один шаг – BokaJakoB

ответ

0

Может быть, есть и другие способы, но это то, что я сделал:

Я сделал свой собственный класс MyTreeGrid, который проходит TreeGrid.

Тогда я поставил setShowRecordComponents(true), setShowRecordComponentsByCell(true);

и я использовал метод: createRecordComponent(ListGridRecord record, Integer col) и отменяют его, нарисовать холст для листа.Холст содержит 3 кнопки и три изображения и текст описания.