1

従業員の詳細を表示するDataGridがあります。たとえば、すべての行は従業員(名前、年齢、給与)に対応し、名前+年齢はアンカーであり、給与はプレーンテキストです。

これまでのところすべてが正常に機能していますが、行数が非常に多いため、ブラウザがハングし始めます。そこで、DataGridでページ付けを使用することにしました。私は次のようなことをしました:

List<Employee> tableRowData = new ArrayList<Employee>();
DockPanel dock = new DockPanel();

empTable = new DataGrid<Employee>(tableRowData.size());
SimplePager pager = new SimplePager(TextLocation.CENTER);
pager.setDisplay(hotelsTable);
pager.setPageSize(25); 

dock.add(empTable, DockPanel.CENTER);
dock.add(pager, DockPanel.SOUTH);
dock.setWidth("100%");
dock.setCellWidth(empTable, "100%");
dock.setCellWidth(pager, "100%");

empTable.setRowCount(1, true);
empTable.setRowData(0, tableRowData);
empTable.setStyleName(style.hotelTable());
empTable.setWidget(dock);

これで、ページャーとテーブルは最初の25行で正常に表示されますが、ページャーの[次へ]をクリックすると、テーブルの本体が消え、一部の読み込みバーが本体に永久に表示されます。

また、DataProviderを使用しないとページングを実行できないこともどこかで読みました。そうですか?

ここでページングの例を見てきました。見た目は簡単ですが、私の場合はめちゃくちゃになってしまいます。どんな助けでも大歓迎です。また、私を動かすための基本的なコードを提供していただければ幸いです。

ありがとう、Mohit

4

1 に答える 1

2

ListProvider が不足していると思います。あなたの場合、試してみてください:

empTable = new DataGrid<Employee>(25);
ListDataProvider<Employee> provider = new ListDataProvider<Employee>(tableRowData);
provider.addDataDisplay(empTable);
.
.
.
//empTable.setRowCount(1, true);
//empTable.setRowData(0, tableRowData);

provider.getList().add()そして、またはこのようなものを使用してデータを追加します。

于 2013-01-15T07:39:00.263 に答える