# [GWT] Celltable SimplePager funktioniert in 2.2 nicht



## Dovakhin (22. Mrz 2011)

Hallo,

ich sitze gerade an einem neuen Projekt. Es geht um ein Management Tool das über den Browser aufrufbar ist. Das ganze versuche ich mit Hilfe von GWT zu bewerkstelligen.
Ganz Kurz zum Projekt.
Das Management Tool hat später mehrere Funktionen mit denen der Server auf dem das Tool liegt überprüft wird.
Unter einem Menüpunkt sollen die Logfiles des Servers angezeigt werden. 
Zur besseren Übersicht werden die Logfile Namen und deren Größe in einer CellTable angezeigt wo man dann bequem auswählen kann welche Logdatei man angezeigt bekommen möchte. 
Auf dem Server haben sich mittlerweile 30 Logdateien angesammelt was dann auch wieder ziemlich unübersichtlich aussieht. 
Um das ganze etwas übersichtlicher zu gestalten wollte ich einen Pager einsetzen. Da ich zu Anfang meines Projektes GWT 2.1 verwendet hatte, funktionierte dies über die Pager-Klasse. 
In GWT 2.2 wird diese aber durch den SimplePager ersetzt. 
Ich habe den Code dann mit Hilfe des beispiels angepasst, dennoch lassen sich bei dem Pager die Seiten nicht umschalten und es werden auch alle Logdateien in dem Panel angezeigt.
Auf GWT 2.1 kann ich nicht mehr wechseln, da ich neue Funktionen im meinem Projekt benötige.

Ich konnte bisher nicht herausfinden ob es dazu einen Bug gibt oder worin der Fehler liegt. In meinen Augen scheint der Code völlig korrekt zu sein.
Hatte jemand schon mal ein ähnliches Problem mit dem SimplePager und konnte es Lösen? 

Hier folgt der Code-Ausschnitt in dem ich die Celltable benutze:

```
public class CellTableTestClass {

    private VerticalPanel applicationPanel = new VerticalPanel();
    private CellTable<LogData>  cellTable = new CellTable<LogData>();
    private SingleSelectionModel<LogData> selectionModel = new SingleSelectionModel<LogData>();

        public VerticalPanel createContent() {

                LogFileServiceAsync initData = (LogFileServiceAsync)
GWT.create(LogFileService.class);

                initData.getLogs(new AsyncCallback<List <LogData>>() {

                        public void onFailure(Throwable caught) {
                                Window.alert(caught.getLocalizedMessage());

                        }

                        public void onSuccess(List<LogData> result) {
                                cellTable.setRowData(result);
                        }

                });

                 cellTable.setSelectionModel(selectionModel);

                {
                    cellTable.addColumn(new TextColumn<LogData>() {

                        @Override
                        public String getValue(LogData object) {
                            return object.getLogName();
                        }

                    }, "Log Name");

                    cellTable.addColumn(new TextColumn<LogData>() {

                        @Override
                        public String getValue(LogData object) {
                            return object.getSize();
                        }

                    }, "Size");

                }

                // create a pager, giving it a handle to the CellTable
                SimplePager.Resources pagerResources =
GWT.create(SimplePager.Resources.class);
                SimplePager pager = new SimplePager(TextLocation.CENTER,
pagerResources, false, 0, true);

                pager.setDisplay(cellTable);
                pager.setPageSize(10);

                    // add the Pager to the dialog
                applicationPanel.add(pager);

                applicationPanel.add(new HTML("<hr />"));

                applicationPanel.add(cellTable);

                return applicationPanel;
        }
```

Danke für jede Antwort.

Grüße


----------



## Dovakhin (24. Mrz 2011)

Ich konnte das Problem doch Lösen.
Es lag daran das
	
	
	
	





```
cellTable.setRowData(result);
```
nur die Daten setzt die benutzt werden sollen. Mit folgenden methoden konnte ich das Problem in Lösen 
	
	
	
	





```
cellTable.setRowCount(10);
				cellTable.setRowData(0, result);
```

setRowCount setzt dabei die Anzahl der Objekte pro Seite. Bei setRowData(0,result) lege ich mit der 0 den Starteintrag fest und result ist die Datenmenge.


----------

