No data showing in tableselect This is a very weird one...

I am building a table using 

'#type' =&gt; 'tableselect'


I have

$header = array('date', 'name', 'email', 'location', 'time');


and

$options[$result2[$i]['id']] = array(
    'date' =&gt; gmdate("d / m / Y", $result2[$i]['timestamp']),
    'name' =&gt; $result2[$i]['name'],             
    'email' =&gt; $result2[$i]['email'],
    'location' =&gt; $str_location,
    'time' =&gt; $str_time,
); 


then I am building the table like this...

    $form['table_' . $n] = array(
        '#type' =&gt; 'tableselect',
        '#header' =&gt; $header,
        '#options' =&gt; $options,
        '#prefix' =&gt; '&lt;div class="course_requests"&gt;&lt;h1&gt;' . $record1-&gt;name . '&lt;/h1&gt;',
        '#suffix' =&gt; '&lt;/div&gt;',
    );


The problem is this: The rows are showing.... but with no data in them!

I can output the $options array and it contains the data I want to see in the table.
I have cleared the cache as mentioned here 

Any clues as to why there are the correct rows with the correct columns but with no data?
Ahhhh!

Just as I posted this I discovered that my $header was malformed!!

$header = array('date', 'name', 'email', 'location', 'time');


should have been

$header = array('date' =&gt; 'Date', 'name' =&gt; 'Name', 'email' =&gt; 'Email', 'location' =&gt; 'Location', 'time' =&gt; 'Time');


Phew!