Beispiel #1
0
 /**
  * Gera os registros que serão listados na grid.
  * 
  * @param \Dataware\Entity\Grid $grid
  * @return string
  */
 private function generateGridRows(Grid $grid)
 {
     $rows = "";
     $cont = 0;
     if (count($grid->getData()) > 0) {
         foreach ($grid->getData() as $gridData) {
             $classColor = $cont % 2 == 0 ? 'odd' : 'even';
             $cont++;
             $rows .= "<tr class='gradeA {$classColor}' role='row'>";
             // Gera os dados do registro.
             foreach ($grid->getColumns() as $gridColumn) {
                 if ($grid->hasEntity()) {
                     $lowerColumn = strtolower($gridColumn->getId());
                     $getFunction = "get" . ucfirst($lowerColumn);
                     $tdValue = "";
                     if (method_exists($gridData, $getFunction)) {
                         $data = $gridData->{$getFunction}();
                         $value = $data;
                         // Para registros relacionais.
                         $value = $this->adjustToShowRelationalEntityValue($value);
                         // Para registros booleanos.
                         $value = $this->adjustToShowBooleanValue($value);
                         // Para registros de senha
                         $value = $this->adjustToShowPasswordValue($value);
                         $tdValue .= $value;
                     }
                 } else {
                     $tdValue = $gridData[$gridColumn->getId()];
                 }
                 $rows .= "<td>{$tdValue}</td>";
             }
             // Gera as ações padrões dos registros na grid (Editar e Excluir).
             $rows .= $this->makeGridRowActions($grid, $gridData);
             $rows .= "</tr>";
         }
     }
     return $rows;
 }