2011-11-09 15 views
3

おはよう。私はGWT Gridを使用してテーブルでアプリケーションを作っています。今、私はGWT Gridscrollbarを持っている場合は、rowCountが15より大きい場合は、ヘッダーはスクロール可能な領域の一部ではありません。スクロールとGWTグリッドへの並べ替えを許可する

私の問題は、次のとおりです。

  1. どのように私は、ヘッダーを含めずに、テーブル/グリッドコンテンツのスクロールを有効にすることができますか?
  2. テーブルヘッダーをユーザーがクリックして特定の列を並べ替えるためのボタンのように見えるようにするにはどうすればよいですか?

現在のコードでは、ヘッダーを含めてrowCount> 15のときにスクロールが可能です。助けてください。前もって感謝します。

答えて

6

おそらく、セルウィジェットとDataGridに切り替える必要があります。 cell widgets

  1. Javadoc
  2. Live example (with code)
  3. ドキュメンテーション、そしてどのようcolumn sortingを行うには(DataGridのはほとんどCellTableのようなものです)。
0

私はこの記事でGWTに深く掘るませんが、私はスクロール一部を行う方法についていくつかのヒントを与えることをしようとするでしょうスクロール。

テーブルのデータがテーブルの本体とは別のタグでラップされている場合は、問題ではありません。テーブルの構造は、次のような場合には、それが問題になることはありません。

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

データ部分が縦方向にスクロール可能にするために行数があるとき、あなたはoverflow-y: scroll;を設定<tbody>要素にCSSスタイルを追加する必要がありますスクロールバーが表示されるように他の手段(ラッピングコンテナ)で高さを設定するか、高さを制限する必要があります。

高さを設定するには、15行目が追加された直後に<tbody>のオフセットの高さを取得し、それをそのまま維持することを検討します。

tbodyElement.setHeight(tbodyElement.getOffsetHeight()); 

これは15番目の行を追加した直後に行う必要があることを覚えておいてください。あなたがWidgetのいくつかの種類であなたの列ヘッダー名をラップする必要があり、そのために

をソート

。たとえば、HTMLまたはLabelとすることができます。 ClickHandlerを追加するだけで、セル全体とカーソルを埋めて、CSS cursor: pointer;をホバーして手に切り替えることができます。

結論

まあ、これは本の私の光概観しました。あなたが行ったコードを見ることなく、これ以上行くことは難しいです。

関連する問題