aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui/Table.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/itmill/toolkit/ui/Table.java')
-rw-r--r--src/com/itmill/toolkit/ui/Table.java16
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) {