だから私は 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 行にまたがっていますが、展開記号がありませんが、上の行 (行スパンがない) には展開記号があります。理由はありますか?