【问题标题】:yii 2 customize column with form field for editing with GridView widgetyii 2 自定义带有表单字段的列,用于使用 GridView 小部件进行编辑
【发布时间】:2015-07-25 01:50:20
【问题描述】:

我想要表单字段中的行列值,以便可以编辑该值。我不想覆盖数据库中的值。只是希望它可编辑以便立即打印。

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



        'home_team',
        'away_team',
        'line',
        'over_under',
        'home_fd',

    ],
]); ?>

【问题讨论】:

    标签: gridview yii2


    【解决方案1】:

    您可以指定DataColumnvalueformat参数:

    [
        'attribute' => 'home_team',
        'value' => function($model){
            return Html::textInput('', $model->home_team);
        },
        'format' => 'raw'
    ],
    

    【讨论】:

    • 谢谢!知道为什么当我应用您的解决方案时 td 单元的大小会翻倍。
    • 可能是因为输入大小。尝试用 css 改变它的宽度
    • 我能够修复大小。谢谢你的帮助。也许你可以帮我解决另一个问题。我也想添加一个允许我从视图中删除行的列。我刚刚开始使用 jquery
    • ['class' =&gt; 'yii\grid\ActionColumn'], 添加到您的 columns 数组中。我在这里回答,但对于未来,如果您想问一些不同的问题,请创建一个新问题
    【解决方案2】:

    您可以“覆盖”serialColumn 类。

    举个例子:

    <?php
    
    namespace app\models;
    
    use yii\grid\SerialColumn;
    use yii\helpers\Html;
    
    protected function renderDataCellContent($model, $key, $index)
      {
        return Html::input('text','ida', parent::renderDataCellContent($model, $key, $index));
      }
    }
    

    编辑 无需复制代码,最好调用父级!

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 2011-02-03
      • 1970-01-01
      • 2018-09-12
      • 2011-11-05
      • 1970-01-01
      • 2010-12-08
      • 2012-04-29
      • 1970-01-01
      相关资源
      最近更新 更多