diff --git a/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java b/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java index 4b5a3812e06..63923431091 100644 --- a/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java +++ b/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java @@ -18,6 +18,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.DOM; import org.labkey.api.writer.HtmlWriter; import java.util.ArrayList; @@ -28,6 +29,8 @@ import java.util.function.Function; import java.util.stream.Collectors; +import static org.labkey.api.util.DOM.TD; + /** * Wraps any DisplayColumn and causes it to render each value separately. Often used in conjunction with * MultiValuedLookupColumn @@ -209,4 +212,18 @@ public Object getInputValue(RenderContext ctx) { return values(ctx, _column::getInputValue); } + + // Issue 52983: This override matches the DisplayColumn.renderInputCell() implementation. + // It's necessary to cancel out DisplayColumnDecorator's override. + @Override + public void renderInputCell(RenderContext ctx, HtmlWriter out) + { + TD( + getInputAttributes(), + (DOM.Renderable) ret -> { + renderInputHtml(ctx, out, getInputValue(ctx)); + return ret; + } + ).appendTo(out); + } } diff --git a/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java b/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java index 80667a76bcd..6f78bf7f455 100644 --- a/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java +++ b/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java @@ -38,7 +38,7 @@ public Object getInputValue(RenderContext ctx) sb.append(delim); sb.append(name); - delim = ","; + delim = ", "; } } }