2009-07-23 2 views
2

У меня есть SmartGWT webapp, который использует TreeGrid с источником данных. Я бы хотел, чтобы этот treeGrid предварительно выбирал значения, сохраненные в файле cookie. Я получил значение, которое нужно сохранить в cookie правильно, однако я попробовал несколько разных способов заставить treeGrid выбрать эти значения, и я не могу заставить его работать. Я пытаюсь сделать это в методе onmoduleLoad в моей точке входа.SmartGWT TreeGrid Selection

Я попытался:

Cookies.setCookie("selectedUnit", TreeGrid.getSelectedPaths())

установить печенье, а затем, когда страница перезагружается:

TreeGrid.setSelectedPaths(Cookies.getCookie("selectedUnit")
Когда я не мог получить, чтобы работать, я старался хранить только идентификатор элемента выбран:

Cookies.setCookies("selectedUnit", TreeGrid.getSelected().getAttribute("id"))

, а затем OnLoad пытается найти эту запись и выберите его:

TreeGrid.selectRecord(TreeGrid.getTree().find("id", Cookies.getCookie("selectedUnit")))

Это тоже не сработало, поэтому я попытался сохранить TreeGrid.getSelectedState() и после получения этого значения сформировать cookie onLoad, передав его в TreeGrid.setSelectedState() аналогично моей первой попытке, но передав состояние вместо пути.

Я не мог заставить любую из этих вещей работать. Могу ли я не сказать TreeGrid, чтобы выбрать элемент в методе OnmoduleLoad? Является ли это действие действительным только после того, как TreeGrid был нарисован? Если это так, и где я могу это сделать?

Благодарим вас за любую помощь, которую вы можете дать.

ответ

1

Я понял это:

Я закончил с использованием набора (/ прибудет) SelectedState. Проблема, с которой я столкнулась, заключалась в вызове setSelectedState в конструкторе, она пыталась установить выбранное состояние до того, как данные были там. Я исправил это, установив обработчик onDataArrived для дерева, а затем расширив дерево (чтобы получить все данные), а затем установив выбранное состояние.

+0

Благодарим вас за ответ. Я попробую в моей ситуации и, надеюсь, сможет выполнить свою работу. – anjanb

+0

«MUP7: WARN: TreeGrid: isc_TreeGrid_0: не может получитьSelectedState без источника данных с полем первичного ключа« – anjanb

+0

»MUP7: WARN: TreeGrid: isc_TreeGrid_0: не может получитьSelectedState без источника данных с установленным полем первичного ключа» - Я получил эту ошибку, когда я вызвал getSelectedState(). Я предполагаю, что мне нужно установить первичный ключ. Вы также установили primaryKey на свой источник данных? – anjanb

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