When a foreign (or alternate) reference form field is mapped using RefAttribute it will obviously display the specified named field, but operations against the list become unusable. Not surprisingly, the filter expects an ID value, which adds a lot of confusion from a usage perspective, but the most significant issue is that from the UI it’s not possible to find the ID of the item shown to add that as a filter.
One solution might be to have a default value with a ‘title’ attribute against those values, so hovering over the ‘friendly’ value shows the underlying ‘unfriendly’ id.
Ideally it would be nice to have the format method pass the ‘row’ value as a third parameter, so the client side function call so it can act on its own values, e.g. a User row might have the following
function Fullname(val, options, row) {
return `<span>${dto.FirstName} ${dto.LastName} (${val})</span>`;
}
or
function Fullname(val, options, row) {
return `<span title='${val}'>${dto.FirstName} ${dto.LastName}</span>`;
}