Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    145
    willybit ma chi ti ha mandato oggi??
    spettacolare!!!!! funziona alla grande!!!
    l'unica fregatura è che devo impostare a priori la grandezza dell'applet, sennò quando espando tutto l'albero mi esce fuori dalla pagina...

    senti ma...per una cosa del genere:
    var Tree = new Array;
    // nodeId | parentNodeId | nodeName | nodeUrl

    Tree[0] = "1|0|Page 1.0.0.0.0.0|#";
    Tree[1] = "2|1|Page 1.1.0.0.0.0|#";
    Tree[2] = "3|1|Page 1.2.0.0.0.0|#";
    Tree[3] = "4|3|Page 1.2.1.0.0.0|#";
    Tree[4] = "5|1|Page 1.3.0.0.0.0|#";
    Tree[5] = "6|2|Page 1.1.1.0.0.0|#";
    Tree[6] = "7|6|Page 1.1.1.1.0.0|#";
    Tree[7] = "8|6|Page 1.1.1.2.0.0|#";
    Tree[8] = "9|1|Page 1.4.0.0.0.0|#";
    Tree[9] = "10|9|Page 1.4.1.0.0.0|#";
    Tree[10] = "11|0|Page 2.0.0.0.0.0|#";

    non si può fare niente, vero?
    comunque ti ringrazio, sei stato semplicemente grandioso!!!!!

  2. #12
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    scusa se rispondo solo adesso ma dovevo finire dei lavori...
    per fare questa versione potresti fare così
    codice:
    query = "SELECT * FROM strutture ORDER BY id_struttura,sub_1,sub_2,sub_3,sub_4,sub_5"
    set rs = server.CreateObject("ADODB.Recordset")
    rs.Open query,Conn,3,3
    if not rs.EOF then
    	set dic = Server.CreateObject("Scripting.Dictionary")
    	dic.Add "livello0",0
    	dic.Add "livello1",0
    	dic.Add "livello2",0
    	dic.Add "livello3",0
    	dic.Add "livello4",0
    	dic.Add "livello5",0
    	livello=1
    	id = 0
    	oldId=0
    	do while not rs.EOF
    		id=id+1
    		if livello<=5 then
    			if rs("sub_" & livello)>0 then
    				dic("livello" & livello) = oldId
    				livello=livello+1
    			end if
    		end if
    		if livello>1 then
    			if rs("sub_" & (livello-1))=0 then
    				for i=livello-1 to 1 step -1
    					if rs("sub_" & i)=0 then
    						livello=i
    					end if
    				next
    			end if
    		end if
    		Response.Write "Tree[Tree.length] = """ & id & "|" & dic("livello" & (livello-1)) & "|" & rs("nome_struttura") & " " & rs("id_struttura")
    		for i=1 to 4
    			Response.Write "." & rs("sub_" & i)
    		next
    		Response.Write "|#"";" & vbCrlf
    		oldId=id
    		rs.MoveNext
    	loop
    end if
    fammi sapere se va bene

  3. #13
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    145
    se il campo rs("nome_struttura") contiene un apice, l'array viene costruito comunque correttamente e funziona, ma al caricamento internet explorer restituisce un errore...e non cambia anche se sostituisco l'apice con \'...

  4. #14
    Beh vi dico solo che mettendo insieme l'aiuto magico di willybit ed un po' di javascript ecco cosa si può ottenere: http://www.xtragroove.it/example01.asp
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  5. #15
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da Pepito74
    se il campo rs("nome_struttura") contiene un apice, l'array viene costruito comunque correttamente e funziona, ma al caricamento internet explorer restituisce un errore...e non cambia anche se sostituisco l'apice con \'...
    bisognerebbe vedere il javascript.. se da errore anche col replace di apice in backslash-apice potresti provare con due backslash-apice
    se hai qualcosa online da vedere posta il link

    x freezone
    molto bello l'alberello (potresti metterci qualche lucetta così fai l'albero di natale )

  6. #16
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    145
    allora...lo scrivo qui perchè comunque potrebbe essere di aiuto per quanti volessero implementare questo script nelle loro pagine...
    la riga è questa:

    Response.Write "Tree[ " & count & "] = """ & id & "|" & dic("livello" & (livello-1)) & "|" & Replace(rs("nome_struttura"),"'","\\'") & "|#"";" & vbCrlf

    se nome_struttura ha un apice, IE risponde con un errore; idem se metto \\'.
    Con doppio \\\' funziona ma poi nella pagina leggo il nome tipo "Valle d\\'Aosta".
    Magari posto il messaggio anche nel forum di javascript, se trovo una soluzione vi faccio sapere...

  7. #17
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da Pepito74
    allora...lo scrivo qui perchè comunque potrebbe essere di aiuto per quanti volessero implementare questo script nelle loro pagine...
    la riga è questa:

    Response.Write "Tree[ " & count & "] = """ & id & "|" & dic("livello" & (livello-1)) & "|" & Replace(rs("nome_struttura"),"'","\\'") & "|#"";" & vbCrlf

    se nome_struttura ha un apice, IE risponde con un errore; idem se metto \\'.
    Con doppio \\\' funziona ma poi nella pagina leggo il nome tipo "Valle d\\'Aosta".
    Magari posto il messaggio anche nel forum di javascript, se trovo una soluzione vi faccio sapere...
    o ci dai un link per vedere online o posti il codice javascript (anche se come hai detto tu il forum più adatto adesso sarebbe quello di Scripting)

  8. #18
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    145
    Ciao,
    scusate se riesumo questo thread...il codice postato sopra da willybit funziona in parte...
    Cerco di spiegarmi: ci sono strutture che contengono delle sotto-strutture, nella fattispecie in questo formato:
    6.0.0.0.0.0 (struttura principale)
    6.1.0.0.0.0 (prima sottostruttura)
    6.2.0.0.0.0 (seconda sottostruttura)

    ...e via dicendo...
    ora..il problema si pone quando ho queste sottostrutture:

    6.2.1.0.0.0 (e ok, me la visualizza correttamente)
    6.2.2.0.0.0 - questa me la mette come sottostruttura, come se dipendesse da 6.2.1.0.0, quando invece è sullo stesso livello
    6.2.3.0.0.0 - me la mette a livello di quella sopra

    in pratica le tre strutture, che sono allo stesso livello, il codice le interpreta come se la prima fosse una principale e le altre due dipendenti, allo stesso livello tra loro, ma dipendenti dalla prima.

    siccome nello script si fa riferimento solo ai livelli strutturali del database (sub_1, sub_2, ecc...), viene verificata solo la presenza di una eventuale sottostruttura, ma non della struttura allo stesso livello..che non saprei come pescare..o mi faccio un array a monte o proprio non so..
    riuscite a darmi una mano?
    Grazi!!!!

  9. #19
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    145
    lo scrivo per quanti fossero interessati allo stesso problema..dovrei aver risolto, o almeno pare non ci siano problemi..
    il problema capita se ci si trova in una struttura già annidata, per cui cambia il livello di ingresso, che non è 1 ma il livello della sotto-struttura appena superiore alla sotto-struttura zero...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.