"несколько ячеек в колонке" в CGridView

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Ответить
Reinchold
Сообщения: 48
Зарегистрирован: 2013.01.17, 02:19

"несколько ячеек в колонке" в CGridView

Сообщение Reinchold »

Подскажите пожалуйска как отобразить в одной колонке несколько артиклей.
например есть один учитель, а у него несколько или много учеников.
к примеру так:
_____________________
| Учитель1| Ученик1 |
|**********| Ученик2 |
|**********| Ученик3 |
|**********| Ученик4 |
|**********| Ученик5 |
-------------------
| Учитель2| Ученик1 |
|**********| Ученик2 |
|**********| Ученик3 |
-------------------
| Учитель3| Ученик1 |
|**********| Ученик2 |
|**********| Ученик3 |
-------------------
Наоборот, оно понятно, легче. Но нужно именно так, а ученики потом с явой припрячутся.
Гуглил, но не мог ничего подходящего найти...
Это мой грид:

Код: Выделить всё

<?php
    $this->widget('zii.widgets.grid.CGridView', array(
    //'id'=>'school-grid',
    'dataProvider'=> Tutor::model()->search(),
    //'filter'=>$model,
    'columns'=>array(
           'id',
                array('name'=>'user_search_surname',    'value'=>array($model,'renderSurname')),
                array('name'=>'school_name',            'value'=>array($model,'renderSchoolName')),
                array('name'=>'student',                'value'=>array($model,"renderStudentName")), // вод здесь и должны ученики отображаться
)); ?>
не совсем то, но это единственное, что я нашёл:
viewtopic.php?f=3&t=6920

заранее спасибо
Последний раз редактировалось Reinchold 2013.03.08, 02:32, всего редактировалось 1 раз.
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: "несколько ячеек в колонке" в CGridView

Сообщение rak »

если нужно отобразить список учеников с группировкой(в гриде) по учителю, то можно воспользоваться екстеншеном http://www.yiiframework.com/extension/groupgridview/

а если нужно вывести список учителей, то просто через метод выбирать всех учеников, привязаных к данному учителю и выводить в отдельной колонке
Reinchold
Сообщения: 48
Зарегистрирован: 2013.01.17, 02:19

Re: "несколько ячеек в колонке" в CGridView

Сообщение Reinchold »

rak писал(а):если нужно отобразить список учеников с группировкой(в гриде) по учителю, то можно воспользоваться екстеншеном http://www.yiiframework.com/extension/groupgridview/
Спасибо, пытаюсь разобраться с екстеншеном, при встраивании он у меня ругается, не хочет работать...
Alias "ext.groupgridview.BootGroupGridView" не действителен говорит...
rak писал(а):а если нужно вывести список учителей, то просто через метод выбирать всех учеников, привязаных к данному учителю и выводить в отдельной колонке
этот случай меня более интересует, я выборку уже сделал в модуле, но в CGridView выводит только первого ученика... остальные спрятаны остаются.
я новичок в yii, поэтому за ранее извеняюсь, может быть для кого шокирующие вопросы :-), возможно ли в CGridView виджет вложить такой же CGridView виджет? Мне кажется, что нет, но это теоретически для меня бы был выход...
Reinchold
Сообщения: 48
Зарегистрирован: 2013.01.17, 02:19

Re: "несколько ячеек в колонке" в CGridView

Сообщение Reinchold »

если нужно отобразить список учеников с группировкой(в гриде) по учителю, то можно воспользоваться екстеншеном http://www.yiiframework.com/extension/groupgridview/
Да, нашёл то, что мне нужно!
Только под себя подточить не получается...
помогите разобраться, как встроить этот код в мой yii.
вот ссылка с примером:
http://groupgridview.demopage.ru/index. ... rarowmerge
У меня такая ситуация: есть контроллер, модель и вид "Cockpit".
В виде "admin" есть уже одна таблица, но там же надо встроить таблицу с другой модели "Tutor",
я это тоже сделал с помощью CGridView, таким образом

Код: Выделить всё

'dataProvider'=> Tutor::model()->search(), 
,
всё пошло, но
вторая таблица должна не простая быть, а как я сверху пример написал с "Учитель1, Учитель2, Учитель3 " .
Пример с ссылки очень подошёл, но как заменить эту вторую таблицу на пример с ссылки?
Первая проблема в том, что в контроллере, уже есть

Код: Выделить всё

 $this->render('admin',array('model'=>$model,)); 
,
в примере же стоит, чтобы я встроил в контроллер эту штуку:

Код: Выделить всё

 $this->render('extrarowmerge', array('dp' => $dp)); 
.
как это должно совместиться не пойму, ведь два рендера не сработуют, по крайней мере один только.
заранее спасибо.
Ответить