📜  yii2 gridview 选择列 (1)

📅  最后修改于: 2023-12-03 15:35:48.923000             🧑  作者: Mango

Yii2 GridView 选择列

Yii2 GridView是一个强大的扩展,用于显示网格数据,并提供了强大的选项和功能。其中包括选择列功能,允许用户通过单击选择特定的行并执行操作。

GridView的基本用法

GridView十分灵活,支持许多配置和自定义选项。在GridView中,您可以定义要显示的列,分页和排序选项等等。下面是GridView的基本用法:

<?= GridView::widget([
    'dataProvider' => $dataProvider, // 数据提供器
    'filterModel' => $searchModel, // 查询模型
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'], // 序号列
        'id',
        'name',
        'email:email',
        [
            'class' => 'yii\grid\ActionColumn', // 操作列
            'template' => '{view} {update}', // 显示的操作图标
        ],
    ],
]); ?>
选择列功能

GridView提供了一个内置的选择列,可以将其添加到网格中以允许用户选择行。要启用选择列,请在GridView配置中添加以下代码:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\CheckboxColumn'],
        'id',
        'name',
        'email:email',
        [
            'class' => 'yii\grid\ActionColumn',
            'template' => '{view} {update}',
        ],
    ],
]); ?>

此处,默认添加了选择列。您可以在GridView中选择行,然后执行相应的操作(例如删除所选行)。

要更改选择列的名称,请添加header属性:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        [
            'class' => 'yii\grid\CheckboxColumn',
            'header' => '选择',
        ],
        'id',
        'name',
        'email:email',
        [
            'class' => 'yii\grid\ActionColumn',
            'template' => '{view} {update}',
        ],
    ],
]); ?>

在表单提交后,您可以使用getSelectedRows()方法获取所选行的ID:

// 获取选中行的ID(多个ID以逗号分隔)
var ids = $('#grid').yiiGridView('getSelectedRows');
其他自定义选项

GridView还提供了其他一些有用的选项和自定义功能,例如:

  • 添加数据列
  • 定义操作列
  • 添加分页器
  • 自定义过滤器
  • 标记行
  • 自定义CSS类等等

更多信息可以查看官方文档:GridView