diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnUtils.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnUtils.java
index 87b4d5b99ed6bdc1049c4bb3eee5bd59df1f132f..8e2308772684704ba0d9c3a09228b7b56625017b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnUtils.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnUtils.java
@@ -16,10 +16,15 @@
 
 package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid;
 
+import java.util.Date;
+
 import com.extjs.gxt.ui.client.event.FieldEvent;
+import com.extjs.gxt.ui.client.widget.form.CheckBox;
+import com.extjs.gxt.ui.client.widget.form.Field;
 import com.extjs.gxt.ui.client.widget.grid.CellEditor;
 import com.google.gwt.event.dom.client.KeyCodes;
 
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.DateFormField;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 
 /**
@@ -50,10 +55,53 @@ public class ColumnUtils
                             }
                         }
                     };
-                return editor;
+                break;
+            case BOOLEAN:
+                CheckBox checkBox = new CheckBox();
+                editor = new StringBasedCellEditor(checkBox);
+                break;
+            case TIMESTAMP:
+                editor = new StringBasedCellEditor(new DateFormField("", false));
+                break;
             default:
                 editor = new CellEditor(new DefaultCellEditorField());
-                return editor;
         }
+        return editor;
+    }
+
+    /**
+     * Extension of GXT {@link CellEditor} with automatic conversion from String values that we hold
+     * in tables to specific data types (like {@link Date} or {@link Boolean}) handled by editor
+     * fields and vice versa.
+     */
+    private static class StringBasedCellEditor extends CellEditor
+    {
+
+        public StringBasedCellEditor(Field<? extends Object> field)
+        {
+            super(field);
+        }
+
+        @Override
+        public Object preProcessValue(Object value)
+        {
+            if (value == null)
+            {
+                return value;
+            }
+            return getField().getPropertyEditor().convertStringValue(value.toString());
+        }
+
+        @Override
+        @SuppressWarnings("unchecked")
+        public Object postProcessValue(Object value)
+        {
+            if (value == null)
+            {
+                return value;
+            }
+            return getField().getPropertyEditor().getStringValue(value);
+        }
+
     }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TableCellUtil.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TableCellUtil.java
index f0e89e9f4a93f600b609cb71d17c85bdb4b2da78..caab9b299053e6b7e34f5cab641738b09a896ff2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TableCellUtil.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TableCellUtil.java
@@ -82,13 +82,15 @@ public class TableCellUtil
             case VARCHAR:
             case MULTILINE_VARCHAR:
             case BOOLEAN:
-//            case CONTROLLEDVOCABULARY:
+            case TIMESTAMP:
+                // case CONTROLLEDVOCABULARY:
+                // case MATERIAL:
                 return true;
             default:
                 return false;
         }
     }
-    
+
     private TableCellUtil()
     {
     }