Получить абсолютный номер строки в сетке - PullRequest
8 голосов
/ 29 апреля 2011

В yii's CGridView я могу получить текущий номер строки, используя $ row .Но это возвращает индекс строки только на текущей странице.Что мне действительно нужно, так это получить абсолютный номер строки на всех страницах.

Я использую yii, поэтому мои мечты должны сбываться «легко», поэтому я ожидаю, что ответ не должен побудить меня добавить специальное полек поставщику данных или получить доступ к пейджеру и получить номер текущей страницы, а затем умножить номера Bla Bla Bla.

Спасибо

Ответы [ 2 ]

28 голосов
/ 09 мая 2011

Ты это решил?Если нет, я предлагаю вам следующее решение

$this->widget(
  'zii.widgets.grid.CGridView',
  array(
    'columns'=>array(
      array(
        'header'=>'No.',
        'value'=>'$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)',
      ),
    ),
  ));

, в основном вы можете получить доступ к текущей странице и переменным размерам страниц из провайдера данных и использовать его для вычисления «номера строки» для всех данных.Почему $ row + 1?потому что $ row начинается с 0. Надеюсь, это поможет: D

0 голосов
/ 17 сентября 2013

Может быть, это поможет: CDataProvider имеет свойство totalItemCount, которое можно использовать:

Пример: $ this-> grid-> dataProvider-> getTotalItemCount ();

Подробнее на: http://www.yiiframework.com/doc/api/1.1/CDataProvider#totalItemCount-detail

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...