Dunque, il dataProvider è un'istanza di CActiveDataProvider:
Ne prendo uno a caso dal Class Reference
$dataProvider=new CActiveDataProvider('Post', array(
'criteria'=>array(
'condition'=>'status=1',
'order'=>'create_time DESC',
'with'=>array('author'),
),
'pagination'=>array(
'pageSize'=>33,
),
));
Quindi qui il dataprovider sarà il risultato di una query che prende la tabella del modulo Post, dove l'autore è preso come campo esterno e with serve per ridurre il numero di query, order è l'ordinamento dei risultati, e condition ... è la clausola where.
Ciascun record, viene filtrato in base a tutti i campi del model, in quanto noi gli passiamo tutto quanto:
'filter' => $model,
E nell'attributo columns che passiamo a CActiveDataProvider ci stanno le colonne che visualizzeremo nella Grid.
Oibò! Inizia a piacermi sto framework.