首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT:如何在单元格列表中实现手风琴效果?

GWT:如何在单元格列表中实现手风琴效果?
EN

Stack Overflow用户
提问于 2012-05-12 19:55:23
回答 1查看 711关注 0票数 0

我有一个RPC生成的具有头和主体的小部件列表。我想要垂直显示他们,只有标题显示。当用户单击一个标题时,相应的主体滑到视图中,任何其他打开的主体都会从视图中滑出。

手风琴效应可以通过StackPanel来实现。但是,我也希望能够轻松地分页和访问CellList和AsyncDataProvider提供的远程数据。它将在GWT2.5中同时提供这两者,不幸的是,GWT2.5还没有推出。

我的另一个想法是使用一个CellList,并在每个单元上使用相对定位来获得手风琴效果。逻辑非常简单,可以实现,但是从单元格列表中抓取单元格并处理其style属性似乎是一种肮脏的攻击。

有更好的方法吗?

跟进:(我不确定这是否应该是一个单独的问题。)CellList的结构如下所示:

代码语言:javascript
复制
<div __gwtcellbasedwidgetimpldispatchingfocus="true" __gwtcellbasedwidgetimpldispatchingblur="true" class="GJOQRHCBPB GJOQRHCBMK">  

<div onclick="" __idx="0" class="GJOQRHCBLB" style="outline:none;" tabindex="0">
  <!-- my cell html -->
</div>
<div onclick="" __idx="1" class="GJOQRHCBLB" style="outline:none;" tabindex="1"> <!-- ... -->
<div onclick="" __idx="2" class="GJOQRHCBLB" style="outline:none;" tabindex="2"> <!-- ... -->
<!-- ... -->
</div></div>

设计我的单元格很容易,并且它在页面上正确地显示。然而,我对单元格的样式并不影响父div(使用__idx),而且它们仍然延伸出整个原始长度。这意味着,如果单击单元格列表“应该在”的下方,则会触发选择事件。如果我可以直接访问和样式__idx div,这是可以修复的,但我担心这是一个非常肮脏的攻击。有更好的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-12 22:54:32

GWT2.5将添加一种在CellTable (或DataGrid)中为单个项构建几行的方法;它不会对CellList进行任何更改。此外,您仍将负责处理事件以展开/折叠行,可能是动画行,最多也不会有一个展开行是免费的。

总之,它不会为您的用例改变任何东西。

您需要在单元格的呈现/事件处理中烘焙这种展开/折叠行为。至于折叠其他行,您必须从列表级别开始处理DOM (即查找所有可折叠元素并确保它们已折叠,然后展开需要它的行)。

或者,您可以使用NoSelectionModelSingleSelectionModel,只需将选定的/最后选定的项呈现为展开项,其他项就会折叠(如果需要,可以从SelectionHandler触发重绘)。你可能会失去动画。

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

https://stackoverflow.com/questions/10566942

复制
相关文章

相似问题

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