如何将复选框列添加到 yii2 中的现有 gridview 列?

拉曼

我想向 gridview 添加一列,但我不想列出所有列(因为默认有一些列)。我知道我可以通过以下方式添加一列:

$widget = Yii::createObject([
    'class' => 'yii\grid\GridView',
    'dataProvider' => $dataProvider,
    'columns' => [
        'col1',
        'col2',
        'class' => 'yii\grid\CheckboxColumn',
    ]
]);

但我不想列出所有默认列而只添加一个复选框列。喜欢跟随:

$widget = Yii::createObject([
    'class' => 'yii\grid\GridView',
    'dataProvider' => $dataProvider,
    'columns' => [
        'class' => 'yii\grid\CheckboxColumn',
    ]
]);

然后它将显示在默认列的末尾。我该怎么做?

月神

yii 框架不支持这种需求。我们可以通过其他方式做到这一点。

第一个:获取所有列名并在显示列表之前插入复选框列

$query = DataModel::find()->select('...')->asArray();

$columns = array_keys($query->one()); // if you know that all column names can also be assigned directly without dynamic acquisition
array_unshift(['class' => \yii\grid\CheckboxColumn::class], $columns);

$widget = Yii::createObject([
    'class' => 'yii\grid\GridView',
    'dataProvider' => new \yii\data\ActiveDataProvider([
        'query' => $query,
    ]),
    'columns' => $columns,
]);

]);

第二:扩展yii\grid\GridView::initColumns()yii框架方法。例如:

class MyGridView extends \yii\grid\GridView {
    public $expandColumns = [];

    protected function initColumns() {
        parent::initColumns();
        \yii\helpers\ArrayHelper::merge($this->columns, $this->expandColumns);
    }
}

// in view
$widget = Yii::createObject([
    'class' => MyGridView::class,
    'dataProvider' => $dataProvider,
    'expandColumns' => [
        [
            'class' => \yii\grid\CheckboxColumn::class,
        ],
    ]
]);

从谷歌翻译回答翻译,希望对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Yii2 GridView 过滤中添加复选框

来自分类Dev

将复选框列添加到gridview

来自分类Dev

将ActiveForm放在Gridview列Yii2中

来自分类Dev

在yii2中,如何获取gridview的列标题

来自分类Dev

从 GridView Yii2 中的列中获取数据

来自分类Dev

如何使用sqldataprovider将复选框列添加到gridview?

来自分类Dev

如何使用sqldataprovider将复选框列添加到gridview?

来自分类Dev

如何将Yii2 jui datepicker添加到GridView中的过滤字段

来自分类Dev

yii2中的gridview复选框多删除

来自分类Dev

如何将一个复选框添加到listcontrol列标题以选中和取消选中列表项的所有复选框?

来自分类Dev

yii2:如何使用innerjoin在索引(GridView)中添加列

来自分类Dev

将复选框列添加到asp.net gridview

来自分类Dev

如何截断特定 Yii2 GridView 列中的文本并在悬停时显示?

来自分类Dev

如何在GridView中动态添加带有复选框标题的复选框列?

来自分类Dev

Yii2 GridView关系数据搜索所有列

来自分类Dev

在Yii2中在GridView列中搜索相关关系

来自分类Dev

是否可以在yii2的gridview中的数据列中从相关模型设置标签值

来自分类Dev

在 Yii2 中无法在 gridview 中显示来自模型的自定义列

来自分类Dev

Yii2 Gridview:如何对多列进行排序?

来自分类Dev

从列值(印度货币)中删除美元符号Yii2 kartik gridview

来自分类Dev

Yii2:如何在Yii2中显示没有gridview的搜索结果

来自分类Dev

如何将数组作为Yii2 gridview列的参数传递

来自分类Dev

如何为复选框添加事件单击Asp.net Gridview列中

来自分类Dev

Yii2迁移将新列添加到表中

来自分类Dev

Yii2 将字形添加到数据列中

来自分类Dev

如何在yii2 GridView中启用Ajax更新?

来自分类Dev

Knockout.js动态将复选框列添加到表中

来自分类Dev

Cakephp3:如何将复选框输出到2个列中?

来自分类Dev

在GridView Yii2中对数据进行排序和过滤,其中列不在数据库中

Related 相关文章

  1. 1

    在 Yii2 GridView 过滤中添加复选框

  2. 2

    将复选框列添加到gridview

  3. 3

    将ActiveForm放在Gridview列Yii2中

  4. 4

    在yii2中,如何获取gridview的列标题

  5. 5

    从 GridView Yii2 中的列中获取数据

  6. 6

    如何使用sqldataprovider将复选框列添加到gridview?

  7. 7

    如何使用sqldataprovider将复选框列添加到gridview?

  8. 8

    如何将Yii2 jui datepicker添加到GridView中的过滤字段

  9. 9

    yii2中的gridview复选框多删除

  10. 10

    如何将一个复选框添加到listcontrol列标题以选中和取消选中列表项的所有复选框?

  11. 11

    yii2:如何使用innerjoin在索引(GridView)中添加列

  12. 12

    将复选框列添加到asp.net gridview

  13. 13

    如何截断特定 Yii2 GridView 列中的文本并在悬停时显示?

  14. 14

    如何在GridView中动态添加带有复选框标题的复选框列?

  15. 15

    Yii2 GridView关系数据搜索所有列

  16. 16

    在Yii2中在GridView列中搜索相关关系

  17. 17

    是否可以在yii2的gridview中的数据列中从相关模型设置标签值

  18. 18

    在 Yii2 中无法在 gridview 中显示来自模型的自定义列

  19. 19

    Yii2 Gridview:如何对多列进行排序?

  20. 20

    从列值(印度货币)中删除美元符号Yii2 kartik gridview

  21. 21

    Yii2:如何在Yii2中显示没有gridview的搜索结果

  22. 22

    如何将数组作为Yii2 gridview列的参数传递

  23. 23

    如何为复选框添加事件单击Asp.net Gridview列中

  24. 24

    Yii2迁移将新列添加到表中

  25. 25

    Yii2 将字形添加到数据列中

  26. 26

    如何在yii2 GridView中启用Ajax更新?

  27. 27

    Knockout.js动态将复选框列添加到表中

  28. 28

    Cakephp3:如何将复选框输出到2个列中?

  29. 29

    在GridView Yii2中对数据进行排序和过滤,其中列不在数据库中

热门标签

归档