aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui/Select.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/itmill/toolkit/ui/Select.java')
-rw-r--r--src/com/itmill/toolkit/ui/Select.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/ui/Select.java b/src/com/itmill/toolkit/ui/Select.java
index 12f8757096..a5a199f8da 100644
--- a/src/com/itmill/toolkit/ui/Select.java
+++ b/src/com/itmill/toolkit/ui/Select.java
@@ -67,6 +67,8 @@ public class Select extends AbstractSelect implements AbstractSelect.Filtering {
*/
protected int pageLength = 10;
+ private int columns = 0;
+
// current page when the user is 'paging' trough options
private int currentPage;
@@ -142,6 +144,11 @@ public class Select extends AbstractSelect implements AbstractSelect.Filtering {
}
}
+ // Adds the number of columns
+ if (columns != 0) {
+ target.addAttribute("cols", columns);
+ }
+
// Constructs selected keys array
String[] selectedKeys;
if (isMultiSelect()) {
@@ -421,4 +428,27 @@ public class Select extends AbstractSelect implements AbstractSelect.Filtering {
public int getFilteringMode() {
return filteringMode;
}
+
+ /**
+ * Sets the number of columns in the editor. If the number of columns is set
+ * 0, the actual number of displayed columns is determined implicitly by the
+ * adapter.
+ *
+ * @param columns
+ * the number of columns to set.
+ */
+ public void setColumns(int columns) {
+ if (columns < 0) {
+ columns = 0;
+ }
+ if (this.columns != columns) {
+ this.columns = columns;
+ requestRepaint();
+ }
+ }
+
+ public int getColumns() {
+ return columns;
+ }
+
}