public function Field($properties = array())
 {
     if (!$this->isReadonly()) {
         FormExtraJquery::include_jquery();
         if ($this->requireAccounting) {
             FormExtraJquery::include_accounting();
         }
         Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/TableField.js');
     }
     return parent::Field($properties);
 }
 /**
  * Add a column to append grid
  *
  * @param string $name
  * @param string $display
  * @param string $type
  * @param string $value
  * @param array $opts
  */
 public function addColumn($name, $display = null, $type = 'text', $value = null, $opts = array())
 {
     // Replace currency
     if ($type == self::TYPE_CURRENCY) {
         $type = self::TYPE_CUSTOM;
         $opts['customBuilder'] = 'appendGridCurrencyBuilder';
         $opts['customGetter'] = 'appendGridCurrencyGetter';
         $opts['customSetter'] = 'appendGridCurrencySetter';
         if ($value === null) {
             $value = '0.00';
         }
         $this->requireAccounting = true;
     }
     parent::addColumn($name, $display, $type, $value, $opts);
 }