2015-11-30 20 views
1

我試圖隱藏(不產生)的行,如果條件爲假。現在我總是得到一個空行:如何在jxls2中禁用/隱藏某行?

A1:值:空

A1:評論:JX:區域(lastCell = 「B4」)

A2:值:某些打印輸出

A2:評論:JX:每個(項= 「myList中」,VAR = 「myItem」,lastCell = 「B3」)

A3:值:一些有條件的PRINT OUT

A3:評論:
JX:如果(條件= 「myItem.hasSubItems ==真」,lastCell = 「B3」,區域= [ 「A3:B3」])
JX:每個(項= 「myItem.subItems」,VAR =「子項」 lastCell = 「B3」)

我不想生成ROW3,如果myItem無子

我怎樣才能做到這一點?

回答

0

其實JX:如果底層集合爲空,每個不應生成一行。

因此,在你的情況下,它應該工作,即使沒有jx:if tag。

但是當你需要應用一些其他條件你JX的情況下:如果標籤可能看起來像這樣

jx:if(condition="YOUR CONDITION" lastCell="B3" areas=["A3:B3"]) 
+1

我改變了我的模板,A3評論:'JX:每次(項= 「myItem.subItems」,VAR = 「子項目」,lastCell = 「B3」)'而且我明確地返回一個空集合(Collections.EMPTY_LIST),因爲在返回null時出現錯誤。仍然會產生一個空行。 – jprusch

0

試試這個代碼隱藏行:

CellView cellView =新CellView (); cellView.setHidden(true); //設置隱藏

sheet.setRowView(0, cellView); 
sheet.setRowView(2, cellView); 
sheet.setRowView(4, cellView);