繁体   English   中英

如何在GWT的ScrollPanel中使CellTable Header始终位于顶部

[英]How to make CellTable Header always on top in ScrollPanel in GWT

这是我的代码。

VerticalPanel mainPanel = new VerticalPanel();
HorizontalPanel cellTablePanel = new HorizontalPanel();
ScrollPanel scrollPanel = new ScrollPanel();
CellTable table = new CellTable();

scrollPanel.add(table);
cellTablePanel.add(scrollPanel);
mainPanel.add(cellTablePanel);

我希望表格的标题永久位于顶部,并且数据可以滚动。 现在,当我向下滚动表格时,标题也会向下滚动,因此无法看到标题。 当我再次向上滚动时,只能看到标题。 有什么办法可以修复标题。

注意:我只需要使用CellTable,不能使用任何其他小部件。

如果您不能使用DataGrid,则可以将其放入带有HTML表示标题的DockPanel中。 它将是不可调整大小和不可排序的。 我之所以对CellList进行操作是因为我不使用CellTables(不适用于移动设备)。 但是,此时您正在制作自定义窗口小部件(复合),因此您也可以像其他建议的那样将其重构为DataGrid。 经历一次重构痛苦,永远享受干净的设计。

花一点时间阅读此答案

您可以使用Window.addWindowScrollHandler()进行相同的操作。 实现相同的逻辑,然后将列标题样式设置为固定位置。

这是一些伪代码:

get current header position
get current scroll position
if header is above current scroll then:
    set style to fix the header at the top
else:
    set style to regular position

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM