【问题标题】:Yii2 Display Data from the Database Without Using GridViewYii2 不使用 GridView 显示数据库中的数据
【发布时间】:2015-03-02 05:31:27
【问题描述】:

我的index.php 视图中有这个GridView 小部件:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    //'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],

        //'user_id',
        'fname',
        'lname',
        'username',
        // 'password',
        // 'user_type',
        // 'creator',             
    ],
]); ?>

它显然会从我的数据库表中生成一个包含数据的表。我想摆脱 GridView 小部件并使用其他方式显示数据库中的数据。我该怎么做?

我不想使用GridView 小部件的原因之一是我希望显示看起来像一个表格。像这样的东西,例如:

有什么办法吗?谢谢。

【问题讨论】:

标签: php gridview yii2


【解决方案1】:

ListView 小部件用于这些目的。

基本用法示例:

<?= ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => '_view',    
]) ?>

_view 视图文件中,您应该为单个用户放置布局。在里面你可以通过$model变量访问当前用户模型并获取所需的属性值。在官方文档中阅读更多内容。

【讨论】:

  • 谢谢!起初我使用DetailView,但我似乎无法自定义它。现在我只输入&lt;?= $model-&gt;fname; ?&gt; 等等,现在我可以随意自定义它了。
  • DetailView 用于单个模型。
【解决方案2】:

你可以通过这种方式获取模型:

$myModels = $dataProvider->getModels();

然后遍历 $myModels 数组以访问单个实例并使用您喜欢的 html 格式管理字段

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多