GWT单元表分页不工作
我有下面的代码,它包装了一个单元格表并向其中添加了SimplePageGWT单元表分页不工作,gwt,celltable,scroll-paging,Gwt,Celltable,Scroll Paging,我有下面的代码,它包装了一个单元格表并向其中添加了SimplePage public class CellTableTestClass { private VerticalPanel applicationPanel = new VerticalPanel(); private CellTable<Contact> cellTable = new CellTable<Contact>(); public VerticalPanel createContent() { L
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;
}
}
公共类CellTableTestClass{
私有VerticalPanel应用程序面板=新建VerticalPanel();
private CellTable CellTable=新CellTable();
公共垂直面板createContent(){
列表列表=数组。asList(新联系人(“约翰”、“123第四路”)、新联系人(“玛丽”、“222兰瑟巷”)、新联系人(“赞德”、“94路街”)、新联系人(“哈里”、“303沙克蒂”);
cellTable.addColumn(新的TextColumn(){
@凌驾
公共字符串getValue(联系人对象){
返回object.name;
}
},“日志名”);
cellTable.addColumn(新的TextColumn(){
@凌驾
公共字符串getValue(联系人对象){
返回object.address;
}
}“尺寸”);
//创建一个寻呼机,给它一个CellTable的句柄
SimplePager.Resources页面资源=
create(simplePage.Resources.class);
SimplePager寻呼机=新SimplePager(TextLocation.CENTER,
pagerResources,true,0,true);
寻呼机设置显示(手机台);
pager.setPageSize(2);
cellTable.setRowData(0,列表);
cellTable.setRowCount(list.size());
//将寻呼机添加到对话框中
applicationPanel.add(寻呼机);
applicationPanel.add(新的HTML(“
”);
applicationPanel.add(cellTable);
返回应用程序面板;
}
}
当我点击寻呼机的下一步按钮时,它只显示加载屏幕。有人能指出代码中可能的错误吗 因为在使用cellTable时应该使用数据提供程序。如果不想,可以使用cellList而不是cellTable,并使用cellList.setRowData()。以下是cellTable、SimplePage和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));
CellTable CellTable=new CellTable();
TextColumn dateColumn=新的TextColumn(){
@凌驾
公共字符串getValue(AlarmDisplayBTO对象){
返回object.getDate();
}
};
cellTable.addColumn(dateColumn,日期);
TextColumn alarmNameColumn=新建TextColumn(){
@凌驾
公共字符串getValue(AlarmDisplayBTO对象){
返回object.getAlarmName();
}
};
cellTable.addColumn(alarmNameColumn,“报警名称”);
cellTable.setRowCount(alarmList.size());
//alarmList是从RPC调用呈现的ArrayList
cellTable.setRowData(0,报警列表);
setEmptyTableWidget(新标签(“未找到记录”);
ListDataProvider dataProvider=新ListDataProvider();
dataProvider.addDataDisplay(cellTable);
dataProvider.setList(报警列表);
SimplePager pager=新SimplePager();
寻呼机设置显示(手机台);
pager.setPageSize(20);//一次将显示20行
VerticalPanel vPanel=新的VerticalPanel();
vPanel.add(cellTable);
vPanel.add(寻呼机);
setWidget(新滚动面板(vPanel));
希望这可能会有所帮助。如果我在联系人列表中使用数据提供程序,也会有同样的效果