使用 GridView 在 Yii2.0 中显示过滤器的空白行

2024-02-07

我已经设置 GridView 在 Yii2.0 中创建我的表,如下所示:

<?= \yii\grid\GridView::widget([
    'dataProvider' => $model->dataProvider,
    'filterModel' => $model->searchModel,
    'columns' => [
        [
            'label' => Yii::t( $cat, 'Id' ),
            'value' => 'id',
        ],
        [
            'label' => Yii::t( $cat, 'Title' ),
            'format' => 'raw',
            'value' => function ( $data ) {
                if ( $data['status_code'] != 5 )
                {
                    return Html::a( $data['title'], '/signer/view/' . $data['id'] );
                }
                else
                {
                    return $data['title'];
                }
            },
        ],
        [
            'label' => Yii::t( $cat, 'Description' ),
            'value' => 'description',
        ],
        [
            'label' => Yii::t( $cat, 'Filename' ),
            'value' => 'filename',
        ],
        [
            'label' => Yii::t( $cat, 'Status' ),
            'value' => 'status',
            'contentOptions' => function ( $data ) {
                    $statuses = [
                        1 => 'text-primary',    # New
                        2 => 'text-warning',    # Unsigned
                        3 => 'text-warning',    # Partially signed
                        4 => 'text-success',    # Signed
                        5 => 'text-danger',     # Deleted
                    ];
                    return [ 'class' => $statuses[$data['status_code']] ];
                }
        ],
        [
            'label' => Yii::t( $cat, 'Created' ),
            'value' => 'created',
        ],
        //[ 'class' => 'yii\grid\ActionColumn' ],
    ],
]);
?>

我得到了所有正确的数据,但我得到的是空行,而不是过滤输入。

这是为什么?我缺少什么?

PS:搜索模型本身工作正常,这意味着,当我添加到网址时?title=asd它居然得到了搜索结果!


根据的文档$filterModel http://www.yiiframework.com/doc-2.0/yii-grid-gridview.html#%24filterModel-detail财产:

请注意,为了显示用于过滤的输入字段,列必须有其yii\grid\DataColumn::$attribute属性设置或具有yii\grid\DataColumn::$filter设置为输入字段的 HTML 代码。

所以你需要设置yii\grid\DataColumn::$attribute列上的属性,在大多数情况下,这使得value不必要:

<?= \yii\grid\GridView::widget([
    'dataProvider' => $model->dataProvider,
    'filterModel' => $model->searchModel,
    'columns' => [
        [
            'label' => Yii::t( $cat, 'Id' ),
            'attribute' => 'id',
        ],
        [
            'label' => Yii::t( $cat, 'Title' ),
            'format' => 'raw',
            'attribute' => 'title',
            'value' => function ( $data ) {
                if ( $data['status_code'] != 5 )
                {
                    return Html::a( $data['title'], '/signer/view/' . $data['id'] );
                }
                else
                {
                    return $data['title'];
                }
            },
        ],
        [
            'label' => Yii::t( $cat, 'Description' ),
            'attribute' => 'description',
        ],
        [
            'label' => Yii::t( $cat, 'Filename' ),
            'attribute' => 'filename',
        ],
        [
            'label' => Yii::t( $cat, 'Status' ),
            'attribute' => 'status',
            'contentOptions' => function ( $data ) {
                    $statuses = [
                        1 => 'text-primary',    # New
                        2 => 'text-warning',    # Unsigned
                        3 => 'text-warning',    # Partially signed
                        4 => 'text-success',    # Signed
                        5 => 'text-danger',     # Deleted
                    ];
                    return [ 'class' => $statuses[$data['status_code']] ];
                }
        ],
        [
            'label' => Yii::t( $cat, 'Created' ),
            'attribute' => 'created',
        ],
        //[ 'class' => 'yii\grid\ActionColumn' ],
    ],
]);
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 GridView 在 Yii2.0 中显示过滤器的空白行 的相关文章

  • 如何正确转义 CSV 中的双引号?

    我的 CSV 中有这样一行 Samsung U600 24 10000003409 1 10000003427 旁边引用24用于表示英寸 而该引号旁边的引号则关闭该字段 我正在读这行fgetcsv但解析器犯了一个错误 并将该值读取为 Sam
  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt
  • 用于分页的php示例脚本[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以建议一个好的分页 php 脚本 其中人们想要分页显示数据库中的大量项目 以下链接可以帮助您
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • 在 symfony2 中为特定控制器设置 max_execution_time

    Using ini set 我可以扩展最大执行时间一个脚本的 在Symfony2 我可以添加ini set to web app php and web app dev php将增加的执行时间应用于所有控制器 但在这种情况下 我只想扩展最大
  • 如何在Web服务中传递URL

    我想将此 URL 作为网址中的值传递http localhost h2orn php verify php email emails hash hash但是 我只能在 符号之前传递 我想传递所有 URL 我正在使用java网络服务 代码在这
  • Laravel 5 与 SAML 2 和现有 IDP 集成

    我使用 Laravel 5 我正在尝试将 SAML 2 0 与其集成 我找到了这个包 https github com aacotroneo laravel saml2 https github com aacotroneo laravel
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 疯狂的 crond 行为。不断使 bash 进程失效

    我有一个看起来像这样的 crontab SHELL bin bash PATH sbin bin usr sbin usr bin MAILTO root HOME 0 59 var www html private fivemin zda
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • WordPress 事件按元生效日期排序

    我在获取参数数组以按 Wordpress 中的日期对事件列表进行排序时遇到一些问题 我在 Stack Overflow 和其他地方找到了几个建议的解决方案 但经过大量的试验和错误后 这些解决方案似乎都不起作用 这没什么花哨的 而且应该比这容
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar

随机推荐