kartik-v/yii2-grid

Yii 2 GridView加强版。为Yii 2.0 GridView小部件提供了各种增强和实用工具。

资助包维护!
Open Collective

安装数: 5,212,055

依赖项: 295

建议者: 0

安全: 0

星标: 557

关注者: 57

分支: 302

开放问题: 26

类型:yii2-extension

v3.5.3 2023-07-25 11:41 UTC

README

Krajee Logo
yii2-grid Donate       kartikv

Financial Contributors on Open Collective Stable Version Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

Yii2 GridView加强版。一个模块,对Yii开发者中最常用的部件之一进行了各种修改和增强。该部件包含新的附加网格列,为Yii Framework 2.0提供了增强的设置。部件还集成了Bootstrap 3.x的样式选项。请参阅详细文档和/或一个完整演示。您还可以在此查看网格分组演示

GridView Screenshot

文档 & 演示

您可以在使用此扩展的详细文档演示和API代码文档中查看详细的使用信息。您还可以在此查看网格分组演示

注意:如果您遇到编辑列在页面加载时加载Bootstrap弹出的问题,您可以在文档就绪后隐藏您的yii2视图布局中的bootstrap弹出,以禁用它。例如,在您的yii2视图布局中

<script>
$(document).on("ready", function() {
    $('.popover-x:visible').popoverX('hide'); // or use the right CSS selector as per your need
});
</script>

安装

安装此扩展的首选方式是通过composer。阅读此网络提示/wiki了解如何设置您的应用程序的composer.json中的minimum-stability设置。

先决条件

根据您的Bootstrap版本安装必要的先决条件(Krajee Dropdown Extension)

  • 对于Bootstrap v5.x,安装扩展kartik-v/yii2-bootstrap5-dropdown
  • 对于Bootstrap v4.x,安装扩展kartik-v/yii2-bootstrap4-dropdown
  • 对于Bootstrap v3.x,安装扩展kartik-v/yii2-dropdown-x

例如,如果您正在使用Bootstrap v5.x,请将以下内容添加到您的composer.json文件的require部分

"kartik-v/yii2-bootstrap5-dropdown": "@dev"

安装

运行以下命令之一

$ php composer.phar require kartik-v/yii2-grid "@dev"

或将以下内容添加到您的composer.json文件的require部分

"kartik-v/yii2-grid": "@dev"

用法

use kartik\grid\GridView;
$gridColumns = [
    ['class' => 'kartik\grid\SerialColumn'],
    [
        'class' => 'kartik\grid\EditableColumn',
        'attribute' => 'name',
        'pageSummary' => 'Page Total',
        'vAlign'=>'middle',
        'headerOptions'=>['class'=>'kv-sticky-column'],
        'contentOptions'=>['class'=>'kv-sticky-column'],
        'editableOptions'=>['header'=>'Name', 'size'=>'md']
    ],
    [
        'attribute'=>'color',
        'value'=>function ($model, $key, $index, $widget) {
            return "<span class='badge' style='background-color: {$model->color}'> </span>  <code>" . 
                $model->color . '</code>';
        },
        'filterType'=>GridView::FILTER_COLOR,
        'vAlign'=>'middle',
        'format'=>'raw',
        'width'=>'150px',
        'noWrap'=>true
    ],
    [
        'class'=>'kartik\grid\BooleanColumn',
        'attribute'=>'status', 
        'vAlign'=>'middle',
    ],
    [
        'class' => 'kartik\grid\ActionColumn',
        'dropdown' => true,
        'vAlign'=>'middle',
        'urlCreator' => function($action, $model, $key, $index) { return '#'; },
        'viewOptions'=>['title'=>$viewMsg, 'data-toggle'=>'tooltip'],
        'updateOptions'=>['title'=>$updateMsg, 'data-toggle'=>'tooltip'],
        'deleteOptions'=>['title'=>$deleteMsg, 'data-toggle'=>'tooltip'], 
    ],
    ['class' => 'kartik\grid\CheckboxColumn']
];
echo GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => $gridColumns,
    'containerOptions' => ['style'=>'overflow: auto'], // only set when $responsive = false
    'beforeHeader'=>[
        [
            'columns'=>[
                ['content'=>'Header Before 1', 'options'=>['colspan'=>4, 'class'=>'text-center warning']], 
                ['content'=>'Header Before 2', 'options'=>['colspan'=>4, 'class'=>'text-center warning']], 
                ['content'=>'Header Before 3', 'options'=>['colspan'=>3, 'class'=>'text-center warning']], 
            ],
            'options'=>['class'=>'skip-export'] // remove this row from export
        ]
    ],
    'toolbar' =>  [
        ['content'=>
            Html::button('&lt;i class="glyphicon glyphicon-plus">&lt;/i>', ['type'=>'button', 'title'=>Yii::t('kvgrid', 'Add Book'), 'class'=>'btn btn-success', 'onclick'=>'alert("This will launch the book creation form.\n\nDisabled for this demo!");']) . ' '.
            Html::a('&lt;i class="glyphicon glyphicon-repeat">&lt;/i>', ['grid-demo'], ['data-pjax'=>0, 'class' => 'btn btn-default', 'title'=>Yii::t('kvgrid', 'Reset Grid')])
        ],
        '{export}',
        '{toggleData}'
    ],
    'pjax' => true,
    'bordered' => true,
    'striped' => false,
    'condensed' => false,
    'responsive' => true,
    'hover' => true,
    'floatHeader' => true,
    'floatHeaderOptions' => ['top' => $scrollingTop],
    'showPageSummary' => true,
    'panel' => [
        'type' => GridView::TYPE_PRIMARY
    ],
]);

贡献者

代码贡献者

本项目得以存在,多亏了所有贡献者。[贡献]

财务贡献者

成为财务贡献者,帮助我们维持社区。 [贡献]

个人

组织

通过您的组织支持此项目。您的标志将在此处显示,并带有链接到您的网站。[贡献]

许可

yii2-grid 在BSD-3-Clause License下发布。请参阅捆绑的LICENSE.md以获取详细信息。