所以我有一个Smart GWT ListGrid,我希望能够使行可扩展,同时对它们进行行间隔。扩展未合并的行(通过执行行跨度)工作正常,但是如果我有多个合并的行,则展开图标将消失。我的扩展和行跨越的代码是这样的:
lisgrid = new LisGrid()
{
@Override
protected Canvas getExpansionComponent(final ListGridRecord record)
{
// Add a nested grid to display the remaining requests for the tag
// (after the first N being shown be default).
VLayout layout = new VLayout(5);
layout.setPadding(1);
final ExtendedListGrid requestGrid = new ExtendedListGrid();
requestGrid.setWidth(500);
requestGrid.setHeight(224);
requestGrid.setCellHeight(22);
requestGrid.setDataSource(datasource);
requestGrid.fetchData();
layout.addMember(requestGrid);
return layout;
}
};
listGrid.setAllowRowSpanning(true);
listGrid.setCanExpandRecords(true);
listGrid.setMergeCols(new String[] { "requestSummaryTagId", "gca" });
我已经覆盖了ListGrid的getRowSpan方法来跨越一个单元格,直到右下方的单元格(相同的列索引和下一行索引)它具有相同的值,并且我还有一个方法setMergeCols告诉网格哪个跨越行的单元格。这是它的样子。如您所见,底部的前2个单元格跨越4行,但缺少展开符号,而对于上面的行(没有任何行跨度),展开符号就在那里。知道为什么吗?