diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index e6be892c0d..9b67442d9a 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -508,6 +508,14 @@ frappe.ui.form.Grid = Class.extend({ } df.colsize = colsize; } + + // attach formatter on refresh + if (df.fieldtype == 'Link' && !df.formatter) { + const docfield = frappe.meta.docfield_map[df.parent][df.fieldname]; + if (docfield && docfield.formatter) { + df.formatter = docfield.formatter; + } + } total_colsize += df.colsize; if(total_colsize > 11) diff --git a/frappe/public/js/legacy/client_script_helpers.js b/frappe/public/js/legacy/client_script_helpers.js index 995c0c20e2..aafac39ca8 100644 --- a/frappe/public/js/legacy/client_script_helpers.js +++ b/frappe/public/js/legacy/client_script_helpers.js @@ -433,7 +433,7 @@ _f.Frm.prototype.set_indicator_formatter = function(fieldname, get_color, get_te }) } - frappe.meta.get_docfield(doctype, fieldname, this.doc.name).formatter = + frappe.meta.docfield_map[doctype][fieldname].formatter = function(value, df, options, doc) { if(value) { return repl('%(label)s', {