I just wounding if I can display my owner array in CGridView.
I just wounding if I can display my owner array in CGridView.
If you have the relations setup in your model, you can set columns in the dataprovider, e.g.
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'owner.username:text:Owner',
'owner.email:text:Email',
array(
'class'=>'CButtonColumn',
),
),
));
?>
Thanks Matt, but I don’t know have database table for this, I have an array= array(
‘0’=>array( ‘name’=>‘Mike’,‘age’=>23),
‘1’=>array( ‘name’=>‘Emma’,‘age’=>33)
)
How to get dataProvider?
Ahh your own array, I don’t think you’re going to be able to use Zii widgets without a dataProvider. This post talks about extending the class to use an array as one, but it seems like more trouble than it’s worth:
Zii For Non-active Records
IMHO you can. what you have to do is:
create own dataProviderClass which will be implementing IDataProvider interface
feed this dataProvider with this array
use as with AR
Since my array is never more than 500 rows, I save it to a temp table, than use CGridView. It’s not perfect solution, but sames this is fast way to get it done.
Take a look at my CArrayDataProvider extension, this should solve your problems.
SOLVED http://www.yiiframework.com/forum/index.php?/topic/7678-zii-for-non-active-records/
Hi there.
I have a problem:
There is 2 arrays, first for the column names (example):
$names['closed'] = 'Done';
$names['active'] = 'In progress';
and array of values:
$values['Type1']['closed'] = 35;
$values['Type1']['active'] = 23;
$values['Type2']['closed'] = 55;
$values['Type2']['active'] = 575;
$values['Type3']['closed'] = 44;
$values['Type4']['active'] = 325;
I need to show it in CGridView like this:
|In Progress|Done
Type1| 23 | 35
Type2| 575 | 55
Type3| 0 | 44
Type4| 325 | 0
Is it possible?