GridView::widget([ 'dataProvider' => $dataProvider,// 你传过来的ActiveDataProvider // 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yiigridSerialColumn'],// 第一列排序 'sid',// 第二列,sid,与你查询的model字段相对应,可以少,不可以多 [ 'attribute' => 'sname', 'label'=>'姓名',// 自定义列名 ],// 第三列,sname [ 'class' => 'yiigridActionColumn',// 动作列,默认三个动作,分别为{view},{update},{delete} 'header' => '操作',// 列名 'template' => '{stuent-view} {studnet-update} {student-delete}',// 定义这一列里面有几个操作,这里为查看,更新,删除 'buttons' => [// 为你template中声明的操作声明动作 'stuent-view' => function ($url, $models, $key) {// 对应{student-view},三个参数,最主要的$key,为你model主键的id $url = ['student/view', 'id'=>$key];// 为下面a链接的url,此处指向StudentController的actionView方法 $options = [ 'title' => '查看', 'aria-label' => '查看', 'data-pjax' => '0', ]; return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url, $options); }, 'studnet-update' => function ($url, $models, $key) {// 对应{student-update} $url = ['student/update', 'id'=>$key]; $options = [ 'title' => '更新', 'aria-label' => '更新', 'data-pjax' => '0', ]; return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, $options); }, 'student-delete' => function ($url, $models, $key) {// 对应{student-delete} $url = ['student/delete', 'id'=>$key]; $options = [ 'title' => '删除', 'aria-label' => '删除', 'data-pjax' => '0', 'data-method' => 'post' ]; return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, $options); } ] ],// 操作 ], ]);