2010-12-11 8 views

答えて

5

提案は、あなたの燃え真夜中の油を保存することができますローカルページングおよびリモートページングなど、さまざまなコンポーネントを提供している使用

GWT-EXTまたはSmartGWT

です。

+2

のために私はGWT-EXTは知らないけどSmartGWTは恐ろしい混乱です。あなたのサイトのパフォーマンスを破壊し、多くの混乱する問題がある場合は、SmartGWTがあなたのライブラリです。 – ZalewaPL

4

いつでもコンポーネントを拡張して機能を追加することができます。また、@ankitのように、smartgwtを使用することもできます。

gwtの利点の1つは、デフォルトのコンポーネントに機能を追加して楽しむことができることです。

[編集] 私は今覚えて別のものは、これを見て取る:@ caarlos0述べたようにhttp://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable

6

は、CellTableは良いスタートです。 GWT SimplePagerAsyncDataProviderもご覧ください。基本的に、SimplePagerはCellTable(または任意のCellウィジェット)とAsyncDataProviderにバインドされます。ユーザーが次のページをクリックするようなページ変更イベントが発生した場合、onRangeChanged()はAsyncDataProvider内で呼び出され、その関数のページング動作をカスタマイズできます。

12

テーブルページネーションが必要な場合は、「CellTable」というGWTウィジェットを試すことができます。ページネーションを簡単にサポートするカスタマイズ可能なテーブルです。

あなたはここに詳細情報(javadocのページ)を見つけることができます。http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/cellview/client/CellTable.html

をそして、これはそれを使用する方法の例です: http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable

2

私はEXT-GWTのようなものを使用してお勧めします。ページングを処理するためのメカニズムが組み込まれています。 あなたがページネーションローカルをサポートし、グリッドビューを持つことができます(すべてのデータは、1回の呼び出しで収集されますが、別のページに分割)またはリモートページネーション

4

(データ呼び出しが新しいページがロードされるたびに行われます)私はcelltableを使用することをお勧めします。一見するとかなり複雑です。しかし、一度あなたはそれに慣れていると、その強力な。 複数の列のCellTable 単一列のCellList 試してはいけませんCellTreeはかなりバグです。

CellTableソート、列幅情報: http://code.google.com/intl/ca/webtoolkit/doc/latest/DevGuideUiCellTable.html

4

yes.CellTableは本当にあなたがページネーションのためのsimplePager friendly.useそれは非常にユーザーを検索しますit.uに慣れるpagination.Onceに適したオプションです。

5

あなたはSimplePagerよりインタフェースをさらに制御したい場合は、AbstractPagerを拡張することができます。次に、onRangeOrRowCountChanged()をオーバーライドするだけです。遅延ロードのような素晴らしいものを実装することもできます。その後、HasRowsを実装しているウィジェットに改ページできます。

6

私はCelltableでページ番号を付けてみましたが、うまくいきました。

あなたの活動に

、あなたはこれに似たような行う必要があります。その後、あなたの実装ビューで列を作成

CellTable table; 

@Override 
public void start(AcceptsOneWidget panel, EventBus eventBus) { 
    // Get the table from the view 
    view.setPresenter(this); 
    panel.setWidget(view.asWidget()); 
    table=view.getCellTable(); 
    final SingleSelectionModel<Your_Class> selectionModel = new SingleSelectionModel<Your_Class>(); 
    table.setSelectionModel(selectionModel); 
    selectionModel.addSelectionChangeHandler(
     new SelectionChangeEvent.Handler() { 
      public void onSelectionChange(SelectionChangeEvent event) { 
       Your_Class selected = selectionModel.getSelectedObject(); 
       if (selected != null) { 
        // Go to edit screen with selected.getId(); 
       } 
      } 
     }); 
} 

を:

table = new CellTable<Your_Class>(); 
table.setSelectionModel(new SingleSelectionModel<Your_Class>()); 

そして最後には、改ページを入れて

SimplePager pager; 
SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); 
pager = new SimplePager(TextLocation.CENTER, pagerResources, true, 0,true); 
pager.setDisplay(table); 

dataProvider.setList(list_of_data); 
pager.setPageSize(number_you_want); 
0

私は質問がかなり古いことを知っていますこれはまだ言及されていない。 ListDataProviderを使用すると、クライアント側のページングを処理できます。それは非常に使いやすく、多くの時間を節約します。

0

古典的な開始/長さのページ付けは、GWTセルウィジェットによって完全にサポートされています。 SimplePagerを作成し、RangeChangeEventをフックしてください。あなたの問題はサーバー上、特に現代のNoSQLデータベースで発生します。それらのほとんどはJPA/Hibernateと同じ方法で "start"と "limit"クエリ修飾子をサポートしていますが、 "start"は不要なデータを繰り返し処理するだけで動作することができますので、

ブログの連続「スクロール」ページネーションまたは「前/次」のみを考慮してください。次に、結果セットをソートし、 "リ"または "より大きい"条件を "リミット"とともに指定することで、それを実装できます。

0
package com.ravi.gwt.client; 

import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.user.client.ui.RootPanel; 
import com.ravi.gwt.client.ContactDatabase.ContactInfo; 
import com.ravi.gwt.client.ui.MyPaginationDataGrid; 
public class GWT11 implements EntryPoint { 

    public void onModuleLoad() { 
     MyPaginationDataGrid<ContactInfo> grid = new MyPaginationDataGrid<ContactInfo>(); 
     grid.setHeight("500px");`enter code here` 
     grid.setDataList(ContactDatabase.get().generateContacts(100)); 
     RootPanel.get().add(grid); 
    } 
} 
+0

少なくともあなたが何をしたか説明を追加してください。 – ketan

1

1ページングは​​GWTでサポートされていますか?

はい

Q2 GWTは、GWT GUI要素を提供していますか?

はい

詳細 -

ページングローディングの動作であり、ビューに現在ロードされていないデータの範囲をもたらします。 Q1 - クライアント側の改ページは、完全SimplePagerAbstractPagerクラスを介してGWTに支持されています。リモートページネーションをお探しの場合は、要件に応じて独自のカスタムウィジェットとロジックを作成する必要があります。

例:

public class SimplePagerExample implements EntryPoint { 

    public void onModuleLoad() { 
// Create a CellList. 
CellList<String> cellList = new CellList<String>(new TextCell()); 

// Add a cellList to a data provider. 
ListDataProvider<String> dataProvider = new ListDataProvider<String>(); 
List<String> data = dataProvider.getList(); 
for (int i = 0; i < 200; i++) { 
    data.add("Item " + i); 
} 
dataProvider.addDataDisplay(cellList); 

// Create a SimplePager. 
SimplePager pager = new SimplePager(); 

// Set the cellList as the display. 
pager.setDisplay(cellList); 

// Add the pager and list to the page. 
VerticalPanel vPanel = new VerticalPanel(); 
vPanel.add(pager); 
vPanel.add(cellList); 
RootPanel.get().add(vPanel); 
     } 
    } 

` Q2SimplePagerはあなたの要件ごとにカスタマイズすることができ、ボタンやテキストラベルが含まれています。参照チェックこのリンク http://samples.gwtproject.org/samples/Showcase/Showcase.html#!CwCellTable

UI of simple pager