ArrayDataProviderEx

Hello guys.

Today I needed to view arrays through CGridView. I had to write two classes: ArrayDataProviderEx and ArrayModel.




$a = array(

   'key1' => 'value1',

   'key2' => 'value2',

   'key3' => 'value3',

);


$dataProvider=new ArrayDataProviderEx($a, ArrayDataProviderEx::ARRAY_ASSOC);


// .....


// somewhere in view

$this->widget('zii.widgets.grid.CGridView', array(

    'id'=>'placeholders-values',

	   'dataProvider'=>$dataProvider,

	   'columns'=>array(

        'key',

        'value',

    ),

));



or


$a = array(

   array('color'=>red, 'model'=>'BMV Z5'),

   array('color'=>silver, 'model'=>'Audi A6'),

   array('color'=>black, 'model'=>'Audi A8'),

);


$dataProvider=new ArrayDataProviderEx($a, ArrayDataProviderEx::ARRAY_ORDER);


// .....


// somewhere in view

$this->widget('zii.widgets.grid.CGridView', array(

    'id'=>'placeholders-values',

	   'dataProvider'=>$dataProvider,

	   'columns'=>array(

        'color',

        'model',

    ),

));

More :wink: details available on my site.

If you are interested in these classes please visit ArrayDataProviderEx