? .patch
? rowclasses.patch
? theme/.patch
Index: theme/theme.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/theme/theme.inc,v
retrieving revision 1.66
diff -u -F^f -p -r1.66 theme.inc
--- theme/theme.inc	7 Jan 2009 19:21:34 -0000	1.66
+++ theme/theme.inc	26 Jan 2009 21:23:22 -0000
@@ -352,6 +352,10 @@ function template_preprocess_views_view_
       }
     }
   }
+  
+  foreach ($vars['rows'] as $num => $row) {
+    $vars['rowclasses'][$num] = ($num % 2 == 0) ? 'odd' : 'even';
+  }
 
   $vars['class'] = 'views-table';
   if (!empty($options['sticky'])) {
Index: theme/views-view-table.tpl.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/theme/views-view-table.tpl.php,v
retrieving revision 1.7
diff -u -F^f -p -r1.7 views-view-table.tpl.php
--- theme/views-view-table.tpl.php	7 Jan 2009 23:35:54 -0000	1.7
+++ theme/views-view-table.tpl.php	26 Jan 2009 21:23:22 -0000
@@ -8,6 +8,7 @@
  * - $header: An array of header labels keyed by field id.
  * - $fields: An array of CSS IDs to use for each field id.
  * - $class: A class or classes to apply to the table, based on settings.
+ * - $rowclass: An array of class strings to apply to the table row, keyed by $count.
  * - $rows: An array of row items. Each row is an array of content
  *   keyed by field ID.
  * @ingroup views_templates
@@ -28,7 +29,7 @@
   </thead>
   <tbody>
     <?php foreach ($rows as $count => $row): ?>
-      <tr class="<?php print ($count % 2 == 0) ? 'odd' : 'even';?>">
+      <tr class="<?php print $rowclasses[$count]; ?>">
         <?php foreach ($row as $field => $content): ?>
           <td class="views-field views-field-<?php print $fields[$field]; ?>">
             <?php print $content; ?>
