2011-11-09 45 views
3

美好的一天。我正在使用GWT Grid来制作应用程序。现在,当rowCount大于15时,我希望我的GWT Grid拥有scrollbar。标题不是可滚动区域的一部分。允许滚动和排序到GWT Grid

我的问题是:

  1. 我怎样才能使表/格的内容不包括头滚动?
  2. 如何让我的表头看起来像一个按钮,其中用户可以单击它来对特定列进行排序?

我当前的代码将允许滚动时rowCount> 15包括头。请帮忙。提前致谢。

回答

0

滚动

我不会深挖GWT这一职位,但我会努力就如何做滚动的部分一些提示。

如果您的表格数据包裹在一个单独的标签中而不是表格的正文,那么它不应该是一个问题。如果表的结构类似于以下,它不应该是一个问题:

<table> 
    <thead> 
     <tr> 
      <th>ColumnHeader1</th> 
      <th>ColumnHeader2</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <th>Data1</th> 
      <th>Data2</th> 
     </tr> 
    </tbody> 
</table> 

为了使数据部分垂直滚动的,你应该添加CSS样式的<tbody>元素这台overflow-y: scroll;当行数为大于15.还需要通过其他方式(包装容器)设置高度或限制其高度,以使滚动条出现。

要设置高度,我会考虑在第15行添加后立即获得<tbody>的偏移高度,并强制它停留在那个位置。它可能是这样的:

tbodyElement.setHeight(tbodyElement.getOffsetHeight()); 

请记住,这必须在添加第15行后立即完成。

排序

对于您应该在某种Widget的包裹你的列标题名称。例如,它可以是HTMLLabel。你只需要添加ClickHandler s到他们和一些样式来填充整个单元格和光标切换到CSS cursor: pointer;徘徊在它上面的手。

结论

好了,这是我的这个指示灯概述。没有看到你已经完成的代码,很难再走下去。