function loadData()
 {
     if ($this->rendered_fields) {
         return true;
     }
     if (!$this->loadFields()) {
         return false;
     }
     if ($this->key_value && $this->key_field) {
         $this->addWhereCondition(" `{$this->table}`.`{$this->key_field}` = '{$this->key_value}' ");
     }
     $this->limit = $this->items_per_page;
     $this->limit_start = ($this->page - 1) * $this->items_per_page;
     $mode = $this->getMode();
     if (!($mode == 'single' && !$this->key_value) && parent::loadData() === false) {
         return false;
     }
     if ($this->mode == 'list' && !$this->data) {
         return true;
     }
     $renderer = new DMRenderer();
     $renderer->setFields($this->fields);
     $renderer->setData($this->data);
     $renderer->setFieldsPrefix($this->fields_prefix);
     $aditional_params = array('key_field' => $this->key_field, 'mode' => $mode, 'table' => $this->table, 'join_table' => $this->join_table);
     $renderer->addParams($aditional_params);
     $renderer->addParams($this->fields_params);
     $this->rendered_fields = $renderer->getFields();
     if ($this->rendered_fields === false) {
         $this->errors = $renderer->getErrors();
         return false;
     }
     return true;
 }