From 3235e97db8081ba4a1cd8726328b0f2557b1b7d2 Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Thu, 19 Jun 2025 15:28:36 -0700 Subject: [PATCH] Issue 53254: Multi-value lookups should reselect values in form --- api/src/org/labkey/api/data/DataColumn.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/api/src/org/labkey/api/data/DataColumn.java b/api/src/org/labkey/api/data/DataColumn.java index 9a9e3545fa4..f2470c9e5bc 100644 --- a/api/src/org/labkey/api/data/DataColumn.java +++ b/api/src/org/labkey/api/data/DataColumn.java @@ -600,12 +600,22 @@ protected boolean isDisabledInput(RenderContext ctx) protected boolean isSelectInputSelected(String entryName, Object value, String valueStr) { - if (value instanceof Collection) + if (entryName == null) + return false; + + if (value instanceof Collection collection) { - // CONSIDER: stringify values in collection? - return ((Collection)value).contains(entryName); + // Issue 53254: Multi-value lookups should reselect values in form + for (var item : collection) + { + if (item != null && entryName.equals(item.toString())) + return true; + } + + return false; } - return null != entryName && entryName.equals(valueStr); + + return entryName.equals(valueStr); } protected String getSelectInputDisplayValue(NamedObject entry)