Yii Framework Forum: Problema Con Aggiornamento Clistwiew - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problema Con Aggiornamento Clistwiew Rate Topic: -----

#1 User is offline   catalyst 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 12-October 11

Posted 27 October 2012 - 08:11 AM

Salve a tutti,
ho un problema con una CListView.

Ho un elenco di prodotti dove per ogni elemento della lista ho un pulsante che apre un dialog con un form di un altro model (per aggiungere delle vendite relative a quel prodotto). per far questo sto utilizzando formdialog, e funziona tutto perfettamente. il problema nasce quando aggiorno la lista con $.fn.yiiListView.update("idDellaLista").

La CListView viene aggiornata ma il Dialog e altri javascript (ho un effetto popover di bootstrap) non funzionano più e non capisco dove sia l'errore.

Ho altre view simili dove però utilizzo CGridView e lì funziona tutto senza problemi.
0

#2 User is offline   catalyst 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 12-October 11

Posted 30 October 2012 - 08:07 AM

ho modificato la CGridView in modo da avere un pulsante per ogni riga, ma anche qui il comportamento è lo stesso della CListView.

Probabilmente è perchè gli script che avviano il Dialog o il popover sono all'interno della lista/tabella stessa. ho provato a richiamarli con 'afterAjaxUpdate' e in effetti funziona, il problema è che dovrei farlo per tutti i singoli pulsanti.
0

#3 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 02 November 2012 - 02:55 AM

A me il dialog funziona correttamente anche dopo un refresh.

Il widget dialog dovresti usarlo solo una volta per tutta la pagina, e non va mai aggiornato.

Mettilo dopo la gridView e usa un selettore jquery in grado di catturare tutti i bottoni che ti servono (per classe, non per id).

Lo script viene collegato al link con una on, significa che funziona anche sui link 'nuovi' e non solo su quelli preesistenti.

Ps: se ti piace l'estensione dammi un + sulla pagina!
0

#4 User is offline   catalyst 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 12-October 11

Posted 03 November 2012 - 05:02 AM

View Postzaccaria, on 02 November 2012 - 02:55 AM, said:

A me il dialog funziona correttamente anche dopo un refresh.

Il widget dialog dovresti usarlo solo una volta per tutta la pagina, e non va mai aggiornato.

Mettilo dopo la gridView e usa un selettore jquery in grado di catturare tutti i bottoni che ti servono (per classe, non per id).

Lo script viene collegato al link con una on, significa che funziona anche sui link 'nuovi' e non solo su quelli preesistenti.

si, il problema c'era quando inserivo il widget direttamente nella _view della CListView e non al di fuori. in pratica avevo un widget per ogni link e per ogni link avevo la classe
"create".$data->id
che mi selezionava il link corretto. ma non funziona al refresh.
avendo il widget fuori dalla lista/tabella non c'è questo problema, ma dovrei trovare il modo di selezionare i pulsanti che mi servono.

cmq per ora ho lasciato perdere, il fatto di aggiornare direttamente dalla lista o dalla tabella era solo una comodità in più ma non era essenziale.

però ho un altro problema, in formDialog.js c'è
dialog.dialog('close').detach();
che elimina il dialog all'invio del form. se invece chiudo il dialog senza inviare il form e poi lo riapro, il dialog precedente viene solo nascosto e ne viene creato un altro.
Non dava problemi e non l'avevo notato, ora però nel form ho un campo con un CJuiDatePicker che giustamente non si apre più (risultano altri campi con lo stesso ID).

si può eliminare il dialog anche alla chiusura? (nel CJuiDialog c'è l'opzione 'close', ma qui non so come inserirla).

View Postzaccaria, on 02 November 2012 - 02:55 AM, said:

Ps: se ti piace l'estensione dammi un + sulla pagina!

già fatto :)
0

#5 User is offline   catalyst 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 12-October 11

Posted 05 November 2012 - 01:08 PM

ho modificato il file formDialog.js in modo da poter inserire l'evento alla chiusura del Dialog. già che c'ero ho provato ad inserire anche altre opzioni come l'altezza e il titolo (in modo da averli diversi in base al contesto).

ho modificato
dialog.dialog();

in
dialog.dialog({
 title: options['title'], 
 height: options['height'],
 close: function() { 
  dialog.parent().detach();
 }
});

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users