Not 100% sure, but I don't think that this is the purpose of setRelation function. It seems to be designed only to replace foreign keys with a proper name from the related table, but the other fields are not available as columns in the datagrid. The only workaround that I see is to use the multiple fields option from setRelation function. Instead of returning one field, it can concatenate several fields and display them, but in the same column of the related foreign key
Example:
Table CUSTOMER with fields: id, name, city_id
Table CITY with fields: id, name, country
$crud->setTable('CUSTOMER');
$crud->setRelation('city_id', 'CITY', 'name');
will result in
---------------------------------
| id | name | city_id |
---------------------------------
| 1 | John Smith | Madrid |
and:
$crud->setTable('CUSTOMER');
$crud->setRelation('city_id', 'CITY', '{name}, {country}');
will result in
-----------------------------------
| id | name | city_id |
-----------------------------------
| 1 | John Smith | Madrid, Spain |
Hope that helps.