diff options
Diffstat (limited to 'src/com/itmill/toolkit/ui/Table.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/Table.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/com/itmill/toolkit/ui/Table.java b/src/com/itmill/toolkit/ui/Table.java index 6d5a699116..5a9762db9e 100644 --- a/src/com/itmill/toolkit/ui/Table.java +++ b/src/com/itmill/toolkit/ui/Table.java @@ -1322,6 +1322,13 @@ public class Table extends AbstractSelect implements Action.Container, */ public void changeVariables(Object source, Map variables) { + if (!isSelectable() && variables.containsKey("selected")) { + // Not-selectable is a special case, AbstractSelect does not support + // TODO could be optimized. + variables = new HashMap(variables); + variables.remove("selected"); + } + super.changeVariables(source, variables); // Page start index @@ -1522,9 +1529,16 @@ public class Table extends AbstractSelect implements Action.Container, } target.startTag("rows"); for (int i = 0; i < cells[0].length; i++) { - target.startTag("tr"); Object itemId = cells[CELL_ITEMID][i]; + if (!isNullSelectionAllowed() && getNullSelectionItemId() != null + && itemId == getNullSelectionItemId()) { + // Remove null selection item if null selection is not allowed + continue; + } + + target.startTag("tr"); + // tr attributes if (rowheads) { if (cells[CELL_ICON][i] != null) { |