Kartik Detailview中的更新数据不起作用

问题描述 投票:0回答:1

我已经使用Kartik细节视图显示了细节。通过单击右上角的铅笔图标按钮,此小部件具有“编辑内联”功能。“在此处输入图像描述”

但是此表不可编辑:“在此处输入图像描述”

没有任何反应,我的数据仍然相同,我的更新未成功。 可以解决我的问题?谢谢。

我已经阅读了官方指南,看起来完全一样:https://demos.krajee.com/detail-view

这是我的查看代码:

<?php echo DetailView::widget([
        'model' => $modelAnagrafiche,
        'responsive' => true,
        'mode' => 'edit',
        'enableEditMode' => true,
        'buttons1' => '{update}',
        'panel' => [
            'type' => 'primary',
            'heading' => 'Contratto' . ' : ' . $modelAnagrafiche >cognome_ragione_sociale . ' ' . $modelAnagrafiche->nome
        ],
        'attributes' => [
            [
                'group'=>true,
                'label'=>'Sezione Anagrafica',
                'rowOptions'=>['class'=>'table-primary']
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'cognome_ragione_sociale',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%']
                    ],
                    [
                        'attribute' => 'nome',
                        'format' => 'raw',
                        'valueColOptions' => ['style' => 'width:30%'],
                        'displayOnly' => true,
                        'type' => DetailView::INPUT_TEXT,
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'codice_fiscale',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%']
                    ],
                    [
                        'attribute' => 'partita_iva',
                        'format' => 'raw',
                        'valueColOptions' => ['style' => 'width:30%'],
                        'displayOnly' => true
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'tipo_documento',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%'],
                        'format' => 'raw',
                        'value' => $modelAnagrafiche->tipoDocumento,
                    ],
                    [
                        'attribute' => 'numero_documento',
                        'format' => 'raw',
                        'valueColOptions' => ['style' => 'width:30%'],
                        'displayOnly' => true
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'data_nascita',
                        'displayOnly' => true,
                        'format' => 'date',
                        'type' => DetailView::INPUT_DATE,
                        'widgetOptions' => [
                            'pluginOptions' => ['format' => 'yyyy-mm-dd']
                        ],
                    ],
                    [
                        'attribute' => 'id_provincia_nascita',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%'],
                        'format' => 'raw',
                        'value' => $modelAnagrafiche->provinciaNascitaNome,
                        'label' => 'Provincia Nascita'
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'id_comune_nascita',
                        'displayOnly' => true,
                        'format' => 'raw',
                        'value' => $modelAnagrafiche->comuneNascitaNome,
                        'label' => 'Comune Nascita'
                    ],
                ],
            ],
        ],
    ]);
?>

这是我控制器中的动作

public function actionUpdateAnagrafica()
{
    $post = Yii::$app->request->post();

    if (empty($post['Anagrafiche']['id'])) {
        throw new NotFoundHttpException('Non esiste nessuna anagrafica.');
    }

    $modelAnagrafiche = Anagrafiche::findOne($post['Anagrafiche']['id']);

    if ($modelAnagrafiche->load($post) && $modelAnagrafiche->save()) {
        return $this->redirect(['view', 'id' => $modelAnagrafiche->id]);
    } else {
        return $this->render('update-anagrafica', [
            'modelAnagrafiche' => $modelAnagrafiche,
        ]);
    }
}
yii2 kartik-v
1个回答
0
投票

您必须删除所有displayOnly属性。

根据官方指南:

displayOnly:boolean | Closure,如果要将输入设置为显示仅在编辑模式下。如果设置为true,则不会输入任何可编辑的表单显示,而是显示格式化的属性值。

© www.soinside.com 2019 - 2024. All rights reserved.