К сожалению, я не думаю, что есть простой способ отобразить виртуальные поля в SQLFORM.grid. Что вы можете сделать, это использовать аргумент «ссылки» и добавить каждое виртуальное поле в качестве ссылки (если «ссылки» - это словарь, каждый элемент станет отдельным столбцом в сетке).
links=[dict(header='myfield', body=lambda row: row.myfield)]
Обратите внимание, что в этом случае вы не можете указать аргумент "fields" (т.е. вы не можете указать только подмножество полей для включения в сетку) - это потому, что функция виртуального поля требует, чтобы все поля были работать. Если вам нужно скрыть некоторые поля, вместо этого вы можете установить для их «читабельного» атрибута значение False.
Другой вариант может быть вычисляемые поля .