Sviluppare funzionalita su Microsoft Office con VBA Controllo Treeview si azzera cambiando pagina del Multipage

Login Registrati
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #15240 Score: 0 | Risposta

    Jimmy
    Partecipante

      Salve a tutti, sto riscontrando il seguente problema:

      in un form ho un controllo Multipage e nella seconda pagina ho inserito un controllo Treeview. Funziona tutto correttamente quando lavoro con il Treeview, però se mi muovo ad esempio alla prima pagina e poi ritorno nuovamente nella seconda tutte le scelte che avevo precedentemente fatto sul controllo Treeview si sono azzerate.

      Da cosa può dipendere? Grazie.

      Saluti, Emanuele.

      #15242 Score: 0 | Risposta

      patel
      Moderatore
        50 pts

        Ciao, allega un file di esempio e descrivi le operazioni che portano all'errore

        #15246 Score: 0 | Risposta

        Jimmy
        Partecipante

          Ciao, ho inserito un file di esempio appena fatto. Nel Multipage, alla pagina 2, c'è un treeview, mentre alla pagina 1 non c'è niente, tanto non è importante.

          Adesso provare a fare delle selezioni dentro la treeview e dopodiché andare sulla pagina 1 e subito dopo ritornare alla pagina 2. A quel punto si vedrà che il treeview ha perso tutte le selezioni fatte prima. Vedere gli screenshot sottostanti.

          Qui faccio le selezioni

          Selezioni Treeview

          Qui cambio pagina

          Cambio pagina

          Qui ritorno a pagina 2 e il controllo senza fare altro ha perso le selezioni

          Selezioni scomparse

          Emanuele.

          Allegati:
          You must be logged in to view attached files.
          #15248 Score: 0 | Risposta

          patel
          Moderatore
            50 pts

            Ottima descrizione, ma non credo si possa evitare in modo semplice, si potrebbe provare a salvare le selezioni in un array al cambio pagina e riprenderli al ritorno, ma ne vale la pena ? 

            #15251 Score: 0 | Risposta

            Jimmy
            Partecipante

              Sto provando a salvare ogni volta che c'è l'evento treeview_nodecheck la situazione del treeview in quel momento in una variabile di appoggio definita come oggetto treeview, però non riesco ancora a "copiare" le impostazioni e poi di nuovo a "incollarle". Purtroppo se uso il comando SET mi lega i due treeview e quando cambia l'originale cambia anche quello di appoggio  

              #15253 Score: 0 | Risposta

              Anonimo
                1 pt

                Potresti usare la proprietà Tag del nodo (come appoggio) per memorizzare lo stato:

                `Private Sub MultiPage1_Change()
                    If MultiPage1.SelectedItem.Index = 1 Then
                        Dim nodo As Node
                        For Each nodo In TreeView1.Nodes
                            If nodo.Tag = 1 Then
                                nodo.Checked = True
                            End If
                        Next
                    End If
                End Sub
                
                Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
                    Node.Tag = Abs(Node.Checked)
                End Sub`

                Chiaramente se le impostazioni devono essere persistenti dovrai scriverle 'da qualche parte'.

                 

                #15254 Score: 0 | Risposta

                Jimmy
                Partecipante

                  Grazie Leonardo, ottimo suggerimento. Semplice ed efficace.

                Login Registrati
                Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
                Rispondi a: Controllo Treeview si azzera cambiando pagina del Multipage
                Gli allegati sono permessi solo ad utenti REGISTRATI
                Le tue informazioni: