Beispiel #1
0
 protected function RenderPager()
 {
     $pages = ceil($this->TotalItems / $this->ItemsPerPage);
     if ($pages < 2) {
         return;
     }
     log_debug("RenderPager: {$this->CurrentPage}/{$pages}");
     $ui = new Control('div');
     $ui->addClass("pager");
     if ($this->CurrentPage > 1) {
         $ui->content(new Anchor("javascript: \$('#{$this->id}').gotoPage(1)", "|&lt;"));
         $ui->content(new Anchor("javascript: \$('#{$this->id}').gotoPage(" . ($this->CurrentPage - 1) . ")", "&lt;"));
     }
     $start = 1;
     while ($pages > $this->MaxPagesToShow && $this->CurrentPage > $start + $this->MaxPagesToShow / 2) {
         $start++;
     }
     for ($i = $start; $i <= $pages && $i < $start + $this->MaxPagesToShow; $i++) {
         if ($i == $this->CurrentPage) {
             $ui->content("<span class='current'>{$i}</span>");
         } else {
             $ui->content(new Anchor("javascript: \$('#{$this->id}').gotoPage({$i})", $i));
         }
     }
     if ($this->CurrentPage < $pages) {
         $ui->content(new Anchor("javascript: \$('#{$this->id}').gotoPage(" . ($this->CurrentPage + 1) . ")", "&gt;"));
         $ui->content(new Anchor("javascript: \$('#{$this->id}').gotoPage({$pages})", "&gt;|"));
     }
     return $ui;
 }