gpt4 book ai didi

java - 为什么gwt CellTable不显示所有结果?

转载 作者:行者123 更新时间:2023-12-02 06:10:38 26 4
gpt4 key购买 nike

我使用 rpc 调用获取结果列表。我确信结果列表是正确的,因为当我使用对话框时,所有数据都在那里。但是当我将它放入 CellTable 时,一些行丢失了。为什么会出现这种情况?

public void onSuccess(List<List<String>> result) {  
CellTable<List<String>> bugsTable = new CellTable<List<String>>();
// Create columns
TextColumn<List<String>> idColumn = new TextColumn<List<String>>() {
@Override
public String getValue(List<String> recordSet) {
return recordSet.get(0).toString();
}
};

TextColumn<List<String>> idCommitColumn = new TextColumn<List<String>>() {
@Override
public String getValue(List<String> recordSet) {
return recordSet.get(1).toString();
}
};

TextColumn<List<String>> erMessageColumn = new TextColumn<List<String>>() {
@Override
public String getValue(List<String> recordSet) {
return recordSet.get(2).toString();
}
};

// Add the columns.
bugsTable.addColumn(idColumn, "ID");
bugsTable.addColumn(idCommitColumn, "ID commit");
bugsTable.addColumn(erMessageColumn, "Message");

// Set the total row count. This isn't strictly necessary, but it affects
// paging calculations, so its good habit to keep the row count up to date.
bugsTable.setRowCount(result.size(), true);

// Push the data into the widget.
bugsTable.setRowData(0, result);
tabP.add(bugsTable, "bugs");
RootPanel.get("loadingbarImg").setVisible(false);
}
});

最佳答案

默认ProvidesKey ( SimpleKeyProvider ) 使用对象本身作为键,因此它们的 equals()hashCode()被使用。 java.util.List契约(Contract)定义了equals()hashCode()行为,并要求具有相同项目的两个列表将是 equals()并具有相同的 hashCode() ,因此如果列表中有一些相同的行,则可能会出现问题。

解决方案:不要使用List<String>对于您的行,请定义特定的行类。

关于java - 为什么gwt CellTable不显示所有结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21927824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com