我有一个 SmartGWT webapp,它使用带有数据源的 TreeGrid。我希望这个 treeGrid 预先选择保存在 cookie 中的值。我已经正确地将值保存在 cookie 中,但是我尝试了几种不同的方法让 treeGrid 选择这些值,但我无法让它工作。我试图在我的入口点的 onmoduleLoad 方法中执行此操作。
我努力了:
Cookies.setCookie( "selectedUnit", TreeGrid.getSelectedPaths() )
设置cookie,然后在重新加载页面时:
TreeGrid.setSelectedPaths( Cookies.getCookie("selectedUnit" )
当我无法让它工作时,我尝试只存储所选项目的 id:
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 后才有效?如果是这种情况,我在哪里以及如何做到这一点?
提前感谢您提供的任何帮助。