PHP完全自学手册(珍藏版) 中文pdf扫描版下载
                        第一种方法
		
		
        
- $totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM posts WHERE publish=:publish', [':publish' => 1])
 - ->queryScalar();
 - $dataProvider = new SqlDataProvider([
 - 'sql' => 'SELECT * FROM posts WHERE publish=:publish',
 - 'params' => [':publish' => 1],
 - 'totalCount' => $totalCount,
 - //'sort' =>false, to remove the table header sorting
 - 'sort' => [
 - 'attributes' => [
 - 'title' => [
 - 'asc' => ['title' => SORT_ASC],
 - 'desc' => ['title' => SORT_DESC],
 - 'default' => SORT_DESC,
 - 'label' => 'Post Title',
 - ],
 - 'author' => [
 - 'asc' => ['author' => SORT_ASC],
 - 'desc' => ['author' => SORT_DESC],
 - 'default' => SORT_DESC,
 - 'label' => 'Name',
 - ],
 - 'created_on'
 - ],
 - ],
 - 'pagination' => [
 - 'pageSize' => 10,
 - ],
 - ]);
 - return $dataProvider;
 
第二种
 
- <?= GridView::widget([
 - 'dataProvider' => $dataProvider,
 - 'columns' => [
 - ['class' => 'yii\grid\SerialColumn'],
 - [
 - 'label' =>"Name",
 - 'attribute' => 'tbl_column_name',
 - 'value'=>function($data){
 - return $data["tbl_column_name"];
 - }
 - ],
 - 'title',
 - 'author',
 - 'created_on',
 - ['class' => 'yii\grid\ActionColumn'],
 - ],
 - ]); ?>
 
转载请注明:谷谷点程序 » SqlDataProvider在yii2中的使用方法