laco-agency/gridview-sortable-column

Yii2 gridview可排序列

安装: 739

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

语言:JavaScript

类型:yii2-extension

v0.5 2021-12-30 15:56 UTC

This package is auto-updated.

Last update: 2024-09-29 05:07:50 UTC


README

允许通过鼠标拖拽对GridView表格中的字符串进行排序。

安装

composer require laco-agency/gridview-sortable-column:~v0.

使用

添加设置

将排序行为连接到模型。在orderAttribute属性中可以指定进行排序的列名。默认情况下,orderAttribute的值为sort_order。

public function behaviors()
{
    return [
        'sortable' => [
            'class' => \laco\sortable\Behaviour::className(),
            'orderAttribute' => 'sort_order',
        ],
    ];
}

对一个控制器可以连接多个排序动作,并且可以在每个动作中指定自己的设置。如果未指定orderAttribute,则将使用将排序行为连接到模型时指定的值。

public function actions()
    {
        return [
            'sorting-one' => [
                'class' => \laco\sortable\Action::className(),
                'modelClass' => YourModel::className(),
                'orderAttribute' => 'sort_order_one'
            ],
            'sorting-two' => [
                'class' => \laco\sortable\Action::className(),
                'modelClass' => YourModel::className(),
                'orderAttribute' => 'sort_order_two
            ],   
                     
        ];
    }

向GridView添加可排序列

echo \yii\grid\GridView::widget([
    'dataProvider' => $model->search(),
    'rowOptions' => function ($model, $key, $index, $grid) {
        return ['data-sortable-id' => $model->id];
    },
    'columns' => [

        [
            'class' => \laco\sortable\Column::className(),
            'url' => \yii\helpers\Url::toRoute(['controller/sorting-action'])
        ],
    ]
]);