grooveaa
(Djena)
June 25, 2012, 4:24pm
1
Доброго времени суток.
У меня есть GridView и я использую pagesize exstention для указания количества отображаемых элементов на страницу. show per page
Проблема в том, что этот виджет отображается как dropList. Как изменить его, что бы отображение было одной строкой: 10 20 50 All
Вот сам виджет:
class PageSize extends CWidget
{
public $mPageSizeOptions = array(10=>10, 20=>20, 50=>50, 100=>100, All=>1000);
public $mPageSize = 10;
public $mGridId = '';
public $mDefPageSize = 10;
public function run()
{
Yii::app()->user->setState('pageSize', $this->mPageSize);
$this->mPageSize = null == $this->mPageSize ? $this->mDefPageSize : $this->mPageSize;
echo 'Show ';
echo CHtml::dropDownlist('pageSize', $this->mPageSize, $this->mPageSizeOptions,array(
'onchange'=>"$.fn.yiiGridView.update('$this->mGridId',{ data:{pageSize: $(this).val() }})",
));
echo ' per page';
}
}
?>
Charger
(Charger)
June 26, 2012, 3:55am
2
Судя по документации данного расшиирения в нем не предусмотрено такого функционала. Так что или писать в его ветке автору, что бы добавил, или самому править исходник: найти где генерируется выпадающий список и сделать там то, что тебе нужно, а потом поделится с автором.
grooveaa
(Djena)
June 26, 2012, 12:42pm
3
Charger:
Судя по документации данного расшиирения в нем не предусмотрено такого функционала. Так что или писать в его ветке автору, что бы добавил, или самому править исходник: найти где генерируется выпадающий список и сделать там то, что тебе нужно, а потом поделится с автором.
вот здесь он генерируется:
public function run()
{
Yii::app()->user->setState('pageSize', $this->mPageSize);
$this->mPageSize = null == $this->mPageSize ? $this->mDefPageSize : $this->mPageSize;
echo 'Show ';
echo CHtml::dropDownlist('pageSize', $this->mPageSize, $this->mPageSizeOptions,array(
'onchange'=>"$.fn.yiiGridView.update('$this->mGridId',{ data:{pageSize: $(this).val() }})",
));
echo ' per page';
}
с такими параметрами:
'defaultPageSize' => 10,
'pageSizeOptions'=>array(10=>10,20=>20,50=>50,1000=>All)
как можно вывести этот массив pageSizeOptions просто строкой. 10:20:50:All ?
Charger
(Charger)
June 27, 2012, 2:24am
4
Это вот генерирует выпадающий список. А делать просто строку, свой код нужно писать, составлять его за тебя нет времени.