GWT:在DataGrid中显示字符串列表

GWT:在DataGrid中显示字符串列表,gwt,Gwt,我有一个演示者,它应该显示一个弹出窗口,其中包含一个DataGrip,用于显示字符串列表中的日志文件条目。我尝试设置适当的设置,但显示的日志文件行数与字符串列表不匹配。我试图增强数据分配,导致演示者不再显示。 你能告诉我我做错了什么吗 我的演示者中与DataGrid相关的部分包括: // Create a list data provider. final ListDataProvider<String> dataProvider = new ListDataProvider<

我有一个演示者,它应该显示一个弹出窗口,其中包含一个DataGrip,用于显示字符串列表中的日志文件条目。我尝试设置适当的设置,但显示的日志文件行数与字符串列表不匹配。我试图增强数据分配,导致演示者不再显示。 你能告诉我我做错了什么吗

我的演示者中与DataGrid相关的部分包括:

// 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());绝对需要一些咖啡…完全错过了滚动条和最后一段代码。。。