Index: fieldgroup_table.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/fieldgroup_table/fieldgroup_table.module,v
retrieving revision 1.1
diff -u -u -p -r1.1 fieldgroup_table.module
--- fieldgroup_table.module	28 Dec 2006 21:33:46 -0000	1.1
+++ fieldgroup_table.module	14 Mar 2008 09:48:09 -0000
@@ -99,6 +99,46 @@ function theme_fieldgroup_table($element
   return theme('table',$element['#header'],$rows);
 }
 
+function theme_fieldgroup_node_table($node, $group) {
+  $header = array();
+  $rows = array();
+  $fields = content_fields();
+  foreach($group['fields'] as $name => $field) {
+    if (fieldgroup_table_check_field_multiple($name)) {
+      $header[] = $field['label'];
+      $row = array();
+      foreach($node->$name as $key => $data) {
+        $row[] = array('data' => $data['value'], 'class' => $name);
+      }
+      $rows[] = $row;
+    }
+  }
+  $rows = content_transpose_array_rows_cols($rows);
+  return theme('table', $header, $rows, array(), $group['label'] .':');
+}
+
+function fieldgroup_table_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
+  switch ($op) {
+    case 'view':
+      foreach (fieldgroup_groups($node->type) as $group_name => $group) {
+        if (fieldgroup_table_is_multiple($node->type, $group_name)) {
+          $old = $node->content[$group_name];
+          if ($old) {
+            $node->content[$group_name] = array(
+              '#type' => 'markup',
+              '#value' => theme('fieldgroup_node_table', $node, $group),
+              '#weight' => $old['#weight'],
+              '#attributes' => $old['#attributes'],
+              '#title' => $old['#title'],
+              '#description' => $old['#description'],
+            );
+          }
+        }
+      }
+      break;
+  }
+}
+
 ///////////////////////////// Fragile functions //////////////////////////
 
 /**
@@ -109,7 +149,12 @@ function fieldgroup_table_get_multiple($
   // This is probabaly subject to change.
   $type_name = $form['#parameters'][1]['type'];
   $group_name = $form['#parameters'][2];
+  return fieldgroup_table_is_multiple($type_name, $group_name);
+}
+
+function fieldgroup_table_is_multiple($type_name, $group_name) {
   $result = db_query("SELECT settings FROM {node_group} WHERE type_name = '%s' AND group_name = '%s'",$type_name,$group_name);
+  $settings = db_result($result);
   if ($settings = db_result($result)) {
     $settings = unserialize($settings);
     return isset($settings['multiple']) ? $settings['multiple'] : FALSE;
