GWT:在DataGrid中显示字符串列表
我有一个演示者,它应该显示一个弹出窗口,其中包含一个DataGrip,用于显示字符串列表中的日志文件条目。我尝试设置适当的设置,但显示的日志文件行数与字符串列表不匹配。我试图增强数据分配,导致演示者不再显示。 你能告诉我我做错了什么吗 我的演示者中与DataGrid相关的部分包括:GWT:在DataGrid中显示字符串列表,gwt,Gwt,我有一个演示者,它应该显示一个弹出窗口,其中包含一个DataGrip,用于显示字符串列表中的日志文件条目。我尝试设置适当的设置,但显示的日志文件行数与字符串列表不匹配。我试图增强数据分配,导致演示者不再显示。 你能告诉我我做错了什么吗 我的演示者中与DataGrid相关的部分包括: // Create a list data provider. final ListDataProvider<String> dataProvider = new ListDataProvider<
// Create a list data provider.
final ListDataProvider<String> dataProvider = new ListDataProvider<String>();
public interface MyView extends PopupView, HasUiHandlers<DeviceLogfileUiHandlers> {
DataGrid<String> getDataGrid();
}
@Inject
DeviceLogfilePresenterWidget(final EventBus eventBus, final MyView view) {
super(eventBus, view);
getView().setUiHandlers(this);
}
protected void onBind() {
super.onBind();
// Add the cellList to the dataProvider.
dataProvider.addDataDisplay(getView().getDataGrid());
TextColumn<String> stringColumn = new TextColumn<String>() {
@Override
public String getValue(String s) {
return s;
}
};
getView().getDataGrid().addColumn(stringColumn);
}
@Override
protected void onReveal() {
super.onReveal();
}
public void setDeviceLog(List<String> logEntries) {
getView().getDataGrid().setRowData(0, logEntries);
//These entries make the presenter not show up any more:
dataProvider.addDataDisplay(getView().getDataGrid());
dataProvider.setList(logEntries);
getView().getDataGrid().setRowCount(logEntries.size(), true);
getView().getDataGrid().setVisibleRange(0, logEntries.size());
getView().getDataGrid().setPageSize(logEntries.size());
getView().getDataGrid().redraw();
}
//创建列表数据提供程序。
final ListDataProvider dataProvider=新ListDataProvider();
公共接口MyView扩展了PopupView、HasUiHandlers{
DataGrid getDataGrid();
}
@注入
DeviceLogfilePresenterWidget(最终事件总线事件总线,最终MyView视图){
超级(事件总线、视图);
getView().setUiHandlers(此);
}
受保护的void onBind(){
super.onBind();
//将单元格列表添加到数据提供程序。
dataProvider.addDataDisplay(getView().getDataGrid());
TextColumn stringColumn=新建TextColumn(){
@凌驾
公共字符串getValue(字符串s){
返回s;
}
};
getView().getDataGrid().addColumn(stringColumn);
}
@凌驾
受保护的void onReveal(){
super.onReveal();
}
public void setDeviceLog(列出日志条目){
getView().getDataGrid().setRowData(0,日志条目);
//这些条目使演示者不再显示:
dataProvider.addDataDisplay(getView().getDataGrid());
dataProvider.setList(日志条目);
getView().getDataGrid().setRowCount(logEntries.size(),true);
getView().getDataGrid().setVisibleRange(0,logEntries.size());
getView().getDataGrid().setPageSize(logEntries.size());
getView().getDataGrid().redraw();
}
您是否尝试设置数据网格的页面大小?它位于:getView().getDataGrid().setPageSize(logEntries.size());绝对需要一些咖啡…完全错过了滚动条和最后一段代码。。。