Dear Friend
We can use arrays.
We have to use CArrayDataProvider.
I give an example.
<?php $arr=array(
array("id"=>1,"fruit"=>"apple","color"=>"red"),
array("id"=>2,"fruit"=>"orange","color"=>"orange"),
array("id"=>3,"fruit"=>"grape","color"=>"green"),
array("id"=>4,"fruit"=>"banana","color"=>"yellow"),
);
?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>new CArrayDataProvider($arr),
'columns'=>array(
'id',
'fruit',
'color',
),
));
?>
Do not forget to put id in each element.
If your array record do not contain keyField ie) id
You can do something like this.
<?php $arr=array(
array("fruit"=>"apple","color"=>"red"),
array("fruit"=>"orange","color"=>"orange"),
array("fruit"=>"grape","color"=>"green"),
array("fruit"=>"banana","color"=>"yellow"),
);
$dataProvider=new CArrayDataProvider($arr);
$dataProvider->keyField=false;
?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$dataProvider,
'columns'=>array(
'fruit',
'color',
),
));
?>
It is advised to put keyField and also as id to avoid confusion.
Regards.