41 messaggi dal 18 dicembre 2007
Ciao a tutti,

ho creato il seguente treeview statico che mi fa da sceletro per il popolamento dinamico:

Browse Sheets
- Stores
-- Continents
- Offices
-- Continents

Qui di seguito il popolamento dinamico che ho creato:


    Public Sub PopulateContinents()
        Dim intEndIndex As Integer = 0
        Dim intCycledIndex As Integer = 0

        dbOpen()
        objCmd.CommandText = "SELECT tbl_Continent.ID_Continent, tbl_Continent.Name " & _
                             "FROM tbl_Continent"
        objReader = objCmd.ExecuteReader

        While objReader.Read
            intEndIndex += 1
        End While

        Dim tnSt(intEndIndex) As TreeNode
        Dim tnOf(intEndIndex) As TreeNode

        objReader.Close()
        objReader = objCmd.ExecuteReader

        While objReader.Read

            tnSt(intCycledIndex) = New TreeNode
            tnSt(intCycledIndex).Text = objReader("Name")
            tnSt(intCycledIndex).Value = "bs,strs,cntnt," & objReader("ID_Continent")
            tnSt(intCycledIndex).NavigateUrl = "sheet.aspx?ref=" & tnSt(intCycledIndex).Value
            Me.trvwbs.Nodes(0).ChildNodes(0).ChildNodes(0).ChildNodes.Add(tnSt(intCycledIndex))

            tnOf(intCycledIndex) = New TreeNode
            tnOf(intCycledIndex).Text = objReader("Name")
            tnOf(intCycledIndex).Value = "bs,ofcs,cntnt," & objReader("ID_Continent")
            tnOf(intCycledIndex).NavigateUrl = "sheet.aspx?ref=" & tnOf(intCycledIndex).Value
            Me.trvwbs.Nodes(0).ChildNodes(1).ChildNodes(0).ChildNodes.Add(tnOf(intCycledIndex))

            intCycledIndex += 1

        End While

        dbClose()
    End Sub


Il problema é semplicemente che i due node Continents rimangono expanded anche andando a premere sull'immagine "-" per collassarli. Non so quale sia la property da impostare per lasciarlo libero di fare expand/collapse; mi sapete dare una mano cortesemente?

Grazie
Lybra
quel codice quando lo esegui?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
41 messaggi dal 18 dicembre 2007
Ho messo la chiamata a quella sub nell'onload del treeview.
ok allora per prima cosa, subordina l'esecuzione del codice precedente alla prima richiesta della pagine e basta, lo puoi fare controllando la proprità IsPagePostBack della pagina

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
41 messaggi dal 18 dicembre 2007
nostromo ha scritto:
ok allora per prima cosa, subordina l'esecuzione del codice precedente alla prima richiesta della pagine e basta, lo puoi fare controllando la proprità IsPagePostBack della pagina

ciao marco


Ho fatto così, dimmi se va bene:

    Protected Sub trvwbs_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles trvwbs.Load

        trvwbs.Target = "ifrmbs"

        If Me.IsPostBack = False Then
            PopulateContinents()
        End If

    End Sub


Questo effettivamente dovrebbe ridurre il carico sul sistema, grazie della segnalazione; ma per risolvere il problema dell'expand/collapse???
in teoria, il tuo problema con expand/collapse doveva essere dovuto al fatto che ricaricavi ogni volta i nodi, il problema non è sparito?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
41 messaggi dal 18 dicembre 2007
No non é sparito.
Io pensavo che avendo impostato staticamente le due leaf Continents magari avevo messo involontariamente una qualche proprietà che bloccava l'expand/collapse.
41 messaggi dal 18 dicembre 2007
Nostromo, ho risolto... avevamo ragione entrambi.

Il treeview ha di default l'option PopulateNodesFromClient a True, questa opzione bypassa il postback quando ricarica i treenodes; quindi in pratica avendocela a true me li ricaricava ogni volta ma non appariva come postback, messa a False funziona tutto perfettamente.

Grazie cmq per l'utilissimo help in fase di troubleshooting.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.