我有一个动态填充的ScrollTable
。 (行和列在飞行中计算并填充数据)。我的ScrollTable
支持横向和纵向滚动。当我有很多列并且我水平滚动查看数据时,我发现Header
&的方式不对齐DataTables
已呈现。我怀疑GWT呈现缓慢发生并导致问题。
以下是代码:
public class TestScrollTable implements EntryPoint {
public FixedWidthGrid dataTable = new FixedWidthGrid(200,20);
public FixedWidthFlexTable headerTable = new FixedWidthFlexTable();
public ScrollTable table = new ScrollTable(dataTable, headerTable);
@Override
public void onModuleLoad() {
table.setColumnResizePolicy(ColumnResizePolicy.SINGLE_CELL);
table.setResizePolicy(ResizePolicy.UNCONSTRAINED);
table.setScrollPolicy(ScrollPolicy.BOTH);
table.setSortPolicy(SortPolicy.SINGLE_CELL);
RootPanel.get().add(table);
for (int i = 0; i < 20; i++) {
headerTable.setHTML(0, i, "Header " + i);
}
for (int i = 0; i < 200; i++) {
for (int j = 0; j < 20; j++) {
final int row = i;
final int column = j;
dataTable.setHTML(row, column, "Cell " + row + ":" + column);
}
}
table.redraw();
}
}
并不总是看到这个问题。当我们运行上面的代码并通过远程桌面使用Web应用程序时,有时会看到应用程序的部署版本(当我有很多列时,我需要水平滚动)。已经处理了数据的分页和排序。
我有以下解决方案作为解决方法:
当我调整标题表的大小时,整个ScrollTable
会正确对齐。但是,如果以编程方式完成,则可能是性能问题。
如果我们导航到其他浏览器选项卡并返回,则不会出现此问题。
其他信息:
ScrollTable
小部件运行上述代码并使用我的自定义CSS。 DeferredCommand
之前尝试使用ScrollTable
。
上述情况未产生任何结果。我的应用程序使用GWT 2.0.4。