How to display nodes in a view, each row using a preselected view mode ?
First you need to save the view mode for each entity (e.g. in a field).

Implementing hook_entity_view_mode_alter you can override the view mode:

function mymodule_entity_view_mode_alter(&amp;$view_mode, $context) {
  if ($context['entity_type'] == 'node') {
    $entity = $context['entity']
    if (get the view mode of $entity) {
      $view_mode = 'custom_view_mode';
    }
  }
}


Remember to do a check to run this in your view only, otherwise this will affect the node everywhere.