如何使用自定义gridview标题排序?
请给之间的差别label,并header在Yii2 gridview小部件dataprovider.
这是我的代码:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'class' => 'yii\grid\DataColumn',
'value' => function ($data) {
return $data->myTitle;
},
'headerOptions' => ['style'=>'text-align:center'],
'header' => 'Page Title',
'label' => 'Title'
],
]); ?>
Run Code Online (Sandbox Code Playgroud)
做header和label执行相同的功能?
我该如何进行排序$data->myTitle?
这是我的输出屏幕:

我想要页面标题,状态,修改日期应该是活动的.
提前致谢.
Sat*_*ish 14
找到了答案.
请在搜索模型中向ActiveDataProvider添加属性.
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 5,
],
'sort' => ['attributes' => ['myTitle']],
]);
Run Code Online (Sandbox Code Playgroud)
在窗口小部件中添加属性选项:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'class' => 'yii\grid\DataColumn',
'value' => function ($data) {
return $data->myTitle;
},
'headerOptions' => ['style'=>'text-align:center'],
'attribute' => 'myTitle',
'label' => 'Page Title'
],
]); ?>
Run Code Online (Sandbox Code Playgroud)
由于myTitle是数据库中的字段而不是自定义值,因此您只需使用属性即可.其余可能是不必要的,例如默认class值为DataColumn
'columns' => [
[
'attribute' => 'myTitle',
'label' => 'Label',
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18425 次 |
| 最近记录: |