首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SmartGWT TreeGrid选择

SmartGWT TreeGrid选择
EN

Stack Overflow用户
提问于 2009-07-23 20:47:11
回答 1查看 3.4K关注 0票数 2

我有一个使用TreeGrid和dataSource的SmartGWT with应用程序。我希望此treeGrid预先选择保存在cookie中的值。我已经正确地获得了要保存在cookie中的值,但是我尝试了几种不同的方法来让treeGrid选择这些值,但是我不能让它工作。我正尝试在入口点的onmoduleLoad方法中执行此操作。

我试过了:

代码语言:javascript
复制
Cookies.setCookie( "selectedUnit", TreeGrid.getSelectedPaths() )

要设置cookie,然后在重新加载页面时执行以下操作:

代码语言:javascript
复制
TreeGrid.setSelectedPaths( Cookies.getCookie("selectedUnit" )

当我不能让它工作时,我尝试只存储所选项目的id:

代码语言:javascript
复制
Cookies.setCookies( "selectedUnit", TreeGrid.getSelected().getAttribute("id") )

然后onLoad尝试查找该记录并选择它:

代码语言:javascript
复制
TreeGrid.selectRecord( TreeGrid.getTree().find("id", Cookies.getCookie("selectedUnit") ) )

这也不起作用,所以最后我尝试存储TreeGrid.getSelectedState(),并在从cookie onLoad中检索该值时,将其传递给TreeGrid.setSelectedState(),类似于我的第一次尝试,但传递的是状态而不是路径。

我不能让这些东西中的任何一个工作。我可以不告诉TreeGrid在'OnmoduleLoad‘方法中选择一个项目吗?此操作是否仅在绘制TreeGrid后有效?如果是这种情况,我可以在哪里以及如何做到这一点?

提前感谢您所能提供的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2009-07-29 14:50:47

我想通了:

我最终使用了set(/get)SelectedState。我遇到的问题是在构造函数中调用setSelectedState,它试图在数据实际出现之前设置选定状态。我修复了这个问题,方法是为树设置一个onDataArrived处理程序,然后展开树(以获取所有数据),然后设置选中状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1174409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档