Альтернатива CActiveDataProvider

Как известно, CGRidView хочет получить в качестве источника данных обьект типа CActiveDataProvider.

А CActiveDataProvider в свою очередь предназначен для получения данных из бд.

$dataProvider=new CActiveDataProvider(‘Post’);

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

'dataProvider'=>$dataProvider,

));

Можно ли использовать CGRidView в том случае если источником данных будет не БД, а, например XML, или в целом какой нибудь произвольный массив данных (не важно какого происхождения)?

Если это возможно то приведите пример.

Тут поправка - для получение модели.

Но всё равно нет:)

Попробуй так:


class Name

{

	public $arr = array();//Твой массив

	

	public findAll() { return $arr; }

	

	public count() { return sizeof( $arr ); }

	


	public getDbCriteria(){}

	public setDbCriteria() {}

}

Такое работать не будет, но суть думаю ясна)

CGridView хочет получить в качестве источника данных обьект класса, реализующего интерфейс IDataProvider

вот список этих классов:

CActiveDataProvider, CArrayDataProvider, CDataProvider, CSqlDataProvider

Помог класс CArrayDataProvider, отсалось потестить насколько полноценно будут работать все возможности грида…

Блин учить Yii мне ещё и учить