1

セルテーブルを作成し、それにSimplePagerを追加する次のコードがあります。

public class CellTableTestClass {
private VerticalPanel applicationPanel = new VerticalPanel();
private CellTable<Contact>  cellTable = new CellTable<Contact>();
public VerticalPanel createContent() {
List<Contact> list=Arrays.asList(new Contact("John","123 Fourth Road"), new Contact("Mary", "222 Lancer Lane"), new Contact("Zander", "94 Road Street"), new Contact("Harry","303 Shakti"));

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

            @Override
            public String getValue(Contact object) {
                return object.name;
            }
        }, "Log Name");

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

            @Override
            public String getValue(Contact object) {
                return object.address;
            }
        }, "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, true, 0, true);
        pager.setDisplay(cellTable);
        pager.setPageSize(2);
        cellTable.setRowData(0,list);
        cellTable.setRowCount(list.size());
        // add the Pager to the dialog
        applicationPanel.add(pager);
        applicationPanel.add(new HTML("<hr />"));
        applicationPanel.add(cellTable);
        return applicationPanel;
    }
}

ページャーの次へボタンをクリックすると、ロード画面のみが表示されます。コード内のエラーの可能性を指摘できる人はいますか??

4

2 に答える 2

1

ここで述べたように、cellTable を使用する場合はデータプロバイダーを使用する必要があります。したくない場合は、cellTable の代わりに cellList を使用し、cellList.setRowData() を使用できます。

于 2013-08-07T08:24:00.350 に答える
1

CellTable、SimplePager、および ListDataProvider の簡単な例を次に示します。

    CellTable<AlarmDisplayBTO> cellTable= new CellTable<AlarmDisplayBTO>();
    TextColumn<AlarmDisplayBTO> dateColumn = new TextColumn<AlarmDisplayBTO>() {
        @Override
        public String getValue(AlarmDisplayBTO object) {
            return object.getDate();
        }
    };
    cellTable.addColumn(dateColumn, "Date");
    TextColumn<AlarmDisplayBTO> alarmNameColumn = new TextColumn<AlarmDisplayBTO>() {
        @Override
        public String getValue(AlarmDisplayBTO object) {
            return object.getAlarmName();
        }
    };
    cellTable.addColumn(alarmNameColumn, "Alarm Name");

    cellTable.setRowCount(alarmList.size());
    // alarmList is an ArrayList<AlarmDisplayBTO> rendered from RPC call
    cellTable.setRowData(0, alarmList); 
    cellTable.setEmptyTableWidget(new Label(" No Records Found"));

    ListDataProvider<AlarmDisplayBTO> dataProvider = new ListDataProvider<AlarmDisplayBTO>();
    dataProvider.addDataDisplay(cellTable);
    dataProvider.setList(alarmList);

    SimplePager pager = new SimplePager();
    pager.setDisplay(cellTable);
    pager.setPageSize(20); // 20 rows will be shown at a time

    VerticalPanel vPanel = new VerticalPanel();
    vPanel.add(cellTable);
    vPanel.add(pager);

    setWidget(new ScrollPanel(vPanel));

これが役立つことを願っています..

于 2014-11-26T12:36:00.770 に答える