--- tablefield_old.module	2010-04-29 15:24:27.651567090 -0700
+++ tablefield.module	2010-04-29 15:18:31.743469791 -0700
@@ -57,6 +57,18 @@ function tablefield_field_settings($op, 
         '#default_value' => is_numeric($field['cell_processing']) ? $field['cell_processing'] : 0,
         '#options' => $options,
       );
+      $form['enable_row_change'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Enable Users changing the number of rows'),
+        '#default_value' => is_numeric($field['enable_row_change']) ? $field['enable_row_change'] : 1,
+        '#options' => $options,
+      );
+      $form['enable_column_change'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Enable Users changing the number of columns'),
+        '#default_value' => is_numeric($field['enable_column_change']) ? $field['enable_column_change'] : 1,
+        '#options' => $options,
+      );
       $form['default_message'] = array(
         '#type' => 'markup',
         '#value' => t('To specify a default table, use the &quot;Default Value&quot; above. There you can specify a default number of rows/columns and values.'),
@@ -64,7 +76,7 @@ function tablefield_field_settings($op, 
       return $form;
 
     case 'save':
-      $values = array('cell_processing', 'count_cols', 'count_rows');
+      $values = array('cell_processing', 'count_cols', 'count_rows', 'enable_row_change', 'enable_column_change');
 
       return $values;
 
@@ -371,31 +383,54 @@ function tablefield_process($element, $e
     '#value' => '</table>',
   );
 
+
+  if ($field['enable_column_change'] || $form['#id'] == 'content-field-edit-form') {
+  	$type = "textfield"; 
+  }
+  else
+  {
+  	$type = "hidden";
+  }
+  
+
   // Allow the user to add more rows/columns
   $element['tablefield']['count_cols'] = array(
     '#title' => t('How many Columns'),
-    '#type' => 'textfield',
+    '#type' => $type,
     '#size' => 5,
     '#prefix' => '<div class="clear-block">',
     '#suffix' => '</div>',
     //'#default_value' => $count_cols,
     '#value' => $count_cols,
   );
+  
+  if ($field['enable_row_change'] || $form['#id'] == 'content-field-edit-form') {
+  	$type = "textfield"; 
+  }
+  else
+  {
+  	$type = "hidden";
+  }
+  
   $element['tablefield']['count_rows'] = array(
     '#title' => t('How many Rows'),
-    '#type' => 'textfield',
+    '#type' => $type,
     '#size' => 5,
     '#prefix' => '<div class="clear-block">',
     '#suffix' => '</div>',
     //'#default_value' => $count_rows,
     '#value' => $count_rows,
   );
+
+  
+    if ($field['enable_row_change'] || $field['enable_column_change']  || $form['#id'] == 'content-field-edit-form') 
+	{
   $element['tablefield']['rebuild'] = array(
     '#type' => 'button',
     '#value' => t('Rebuild Table'),
     '#attributes' => array('class' => 'tablefield-rebuild'),
   );
-
+	}
   if (!empty($field['cell_processing'])) {
     $filter_key = $element['#columns'][0];
     $format = isset($element['#value'][$filter_key]) ? $element['#value'][$filter_key] : FILTER_FORMAT_DEFAULT;
