From 7acca910bd6f58bbe8dbe323d88f913554cc2410 Mon Sep 17 00:00:00 2001 From: Bruno Agretti Date: Fri, 25 Jul 2025 16:09:09 -0300 Subject: [PATCH] fix: prioritize custom value provider when extracting column values --- .../vaadin/addons/gridexporter/GridExporter.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java b/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java index 1011723..5ff3b56 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java +++ b/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java @@ -221,9 +221,13 @@ Object extractValueFromColumn(T item, Column column) { ValueProvider customVP = (ValueProvider) ComponentUtil.getData(column, GridExporter.COLUMN_VALUE_PROVIDER_DATA); - if (customVP != null) { - value = customVP.apply(item); - } + if (customVP != null) { + value = customVP.apply(item); + if (value == null && nullValueSupplier != null) { + value = nullValueSupplier.get(); + } + return value; + } // if there is a key, assume that the property can be retrieved from it if (value == null && column.getKey() != null) {