YiiFramework CGridview настроить сортировку по столбцам таким образом, чтоб пустые поля всегда находились внизу.

skoiylight

Новичок
Как в CGridview настроить сортировку по столбцам таким образом, чтоб пустые поля всегда находились внизу.
К примеру, сортировка по алфавиту в столбце "учредители обьекта" - и в независимости ASC или DESC сортировка, незаполненные поля должны находится в конце списка, возможно ли это?

И еще, в CGridview используется ajax пагинация, нужно чтоб при смене сортировки загружалась первая страница.
Т. е. находясь на 4 странице CGridview , кликаю по шапке столбца для смены сортировки, таблица сортируется и перебрасывает снова на 1ю страницу.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
CGridview за сортировку не отвечает, это делает модель. Сформируй запрос к базе так, чтобы в результате был нужный тебе порядок.

относительно перехода на первую страницу - посмотри в полях опции, я не помню
 

skoiylight

Новичок
Я сомневаюсь что за сортировку по столбцам отвечает модель. В данном случае я формирую Cgridview с ArrayDataProvider который в свою очередь состоит с беспорядочных данных которые берутся с разных таблиц и файлов без участия модели.

Если бы речь шла о дефолтной сортировке, то конечно да, там уже я могу задать любую сортировку.
Но мне нужна сортировка по столбцам: когда я жму на шапку столбца, и виджет отправляет запрос возвращая таблицу с сортировкой по выбранному столбцу
 
Последнее редактирование:

Redjik

Джедай-мастер
а ты не сомневайся - в данном случаем массив это модель, а запрос к базе заменяется на лямбда функцию для сортировки...
по крайней мере так должно быть :D
 

skoiylight

Новичок
Бахаха - нельзя впихнуть свою анонимку, делай свой класс основаный на ArrayDataProvider
и оверрайд этот метод
https://github.com/yiisoft/yii/blob/master/framework/web/CArrayDataProvider.php#L130
Спасибо огромное, то что нужно. Я не знал какой метод отвечает за сортировку, и куда ее влепить.
 
Сверху