Custom entity api admin UI overview table how to add extra columns and operations? Drupal 7
I figured out how do do this, and it, of course, isn't terribly straightforward...

You're on the right track, you just need to override the EntityDefaultUIController::overviewTable function in your own custom class. I don't think there's an easier way (since you're looking for one).

So, copy the the implementation of overviewTable from EntityDefaultUIController (in entity/includes/entity.ui.inc in the Entity API module) into your custom ui controller class and look for the calls to:

$this-&gt;overviewTableRow($conditions, entity_id($this-&gt;entityType, $entity), $entity);


...and add the $additional_cols parameter which should be an array populated with the extra data (which you can pull from the $entity object already populated in the foreach loop. So, do something like:

foreach ($entities as $entity) {
  $additional_cols = array($entity-&gt;someField, $entity-&gt;someOtherField);
  $rows[] = $this-&gt;overviewTableRow($conditions, entity_id($this-&gt;entityType, $entity), $entity, $additional_cols);
}


In addition to that you'd have to add the associated headers into the render array at the end of the overviewTable function like so...

$additional_headers = array('some field', 'some other field');

$render = array(
  '#theme' =&gt; 'table',
  '#header' =&gt; $this-&gt;overviewTableHeaders($conditions, $rows, $additional_headers),
  '#rows' =&gt; $rows,
  '#empty' =&gt; t('None.'),
);


...my guess is that you already figured out this much, but to answer your question, no, I don't think that there's an easier way. I hope this helps you, or someone else. ...or if someone knows this easier way, let me know too... =)