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

LoginRegistrati
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #15240 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 Risposta
      patel
      patel
      Moderatore
        31 pts

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

        #15246 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 Risposta
          patel
          patel
          Moderatore
            31 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 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 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 Risposta

                Jimmy
                Partecipante

                  Grazie Leonardo, ottimo suggerimento. Semplice ed efficace.

                LoginRegistrati
                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:



                vecchio frac - 2137 risposte

                albatros54
                albatros54 - 650 risposte

                patel
                patel - 510 risposte

                Marius44
                Marius44 - 409 risposte

                Luca73
                Luca73 - 373 risposte