Come fare un DataGrid con modulo per inserire nuovi valori?

Ciao a tutti,

Sto raggruppando in una pagina diversi datagrid. L’effetto è gradevole, se penso che posso controllare una marea di dati nella stessa pagina senza troppi click da fare. Per esempio ho fatto questo datagrid, che mi mostra tutti i destinatari di una certa email.




  <?php

    $this->widget('zii.widgets.grid.CGridView', array(

        'id' => 'destinatari-grid',

        'dataProvider' => Destinatari::model()->search(),

        'filter' => Destinatari::model(),

        'columns' => array(

            'email',

            array(

                'class' => 'CButtonColumn',

                'deleteButtonUrl' => 'Yii::app()->createUrl("/destinatari/delete", array("id" => $data->id))',

            ),

        ),

    ));

  ?>



Come fare per aggiungere un piccolo form ajax affinchè il nuovo record aggiorni anche il datagrid. Mi sa che sto giro ho esagerato.

http://www.yiiframework.com/doc/api/1.1/CGridView/#ajaxUpdate-detail

può fare al caso tuo?

In parte si: mi risolve il problema dell’aggiornamento. Adesso devo capire come creare il form. Ho provato a prelevarlo dalla pagina _form per poi metterlo “altrove” ma senza successo.

Spero che mi basti questo manuale quà: http://www.yiiframework.com/doc/guide/1.1/en/form.view.

Segui questo wiki per fare le form ajax.

Puoi usare tranquillamente la vista _form generate da Yii, devi solo metterci un po’ di js all’onSubmit.

Per l’aggiornamento ti conviene ritornare direttamente il nuovo datagrid dopo il salvataggio, cosi’ risparmi una request (oppure fanne due, chi se ne frega non si accorge nessuno)

eheheh ok, provero. Oggi mi sono saltate fuori altre gatte da pelare.

Acciderbolina. Ho fatto un form normale ed un datagrid normale. Sarà che sono in locale, ma non serve nessun ajax. La pagina ha soloun datagrid quindi non è pesante e ci mette davvero poco a caricare. Non ci si accorge nemmeno del refresh a dirla tutta.