tree menu + ASP KAI TI ΑΛΛΟ;;

Πληροφορίες σχετικές με την ASP, ASP.NET και με τις εφαρμογές που είναι γραμμένες με αυτήν.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

tree menu + ASP KAI TI ΑΛΛΟ;;

Δημοσίευση από grigoria » 09 Οκτ 2004 11:31

ΓΕΙΑ ΣΑΣ ΚΑΙ ΠΑΛΙ
ΕΧΩ ΔΥΟ ΠΙΝΑΚΕΣ ACCESS DATABASE
O ΠΡΩΤΟΣ ΠΕΡΙΕΧΕΙ ΓΕΝΙΚΕΣ ΚΑΤΗΓΟΡΙΕΣ
Ο ΔΕΥΤΕΡΟ ΚΑΤΗΓΟΡΙΕΣ ΕΙΔΟΥΣ ΠΧ

TABLE1
ID DESCRIPTION
1 ASP
2 VB



TABLE 2
ID DESCRIPTION ID_TABLE1
10 ASP 3.0 1
11 ASP.NET 1
12 VB 2
13 VB.NET 2


ΘΕΛΩ ΝΑ ΚΑΝΩ ΕΝΑ TREE MENU
NA EXEI ΔΥΟ ΦΑΚΕΛΟΥΣ ASP KAI VB (ΑΠΟ ΤΟ ΠΡΩΤΟ ΠΙΝΑΚΑ)
Ο ΦΑΚΕΛΟΣ ASP
ΘΑ ΕΧΕΙ ΜΕΣΑ ASP3.0 KAI ASP.NET OTAN ANOIΓΕΙ(ΔΕΥΤΕΤΟΣ ΠΙΝΑΚΑΣ)
Ο ΦΑΚΕΛΟΣ VB ΘΑ ΕΧΕΙ ΜΕΣΑ VB KAI VB.NET (ΔΕΥΤΕΤΟΣ ΠΙΝΑΚΑΣ)OTAN ANOIΓΕΙ

ΞΕΡΕΙ ΚΑΝΕΙΣ ΠΩΣ ΓΙΝΕΤΑΙ ΑΥΤΟ;;;
ΧΡΕΙΑΖΕΤΑΙ ΚΑΠΟΙΟ ΑΛΛΟ ΠΡΟΓΡΑΜΜΑ;;;
EINAI ΑΠΛΟΣ ΚΩΔΙΚΑΣ ASP +JAVASCRIPT ΙΣΩΣ;;

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

tree menu + ASP KAI TI ΑΛΛΟ;;

Δημοσίευση από skeftomilos » 25 Φεβ 2005 03:34

Αυτό που ζητάς δεν είναι τετριμμένο. Για να προσθέσεις αυτή την interactivity στον browser είναι απαραίτητη η χρήση JavaScript. Θα πρέπει να φτιάξεις μία σελίδα html που να περιέχει τη JavaScript με τη λειτουργικότητα που επιθυμείς, και όταν είσαι ικανοποιημένη με το αποτέλεσμα να φτιάξεις την ASP σελίδα που θα παράγει τον επιθυμητό HTML + JavaScript κώδικα. Το πρώτο είναι κατ'αρχήν το δύσκολο, αλλά και το δεύτερο λογικά θα σε παιδέψει αρκετά.

Η πιο συνηθισμένη μέθοδος είναι η τοποθέτηση του κάθε interactive κειμένου μέσα σε χωριστό container όπως <div> ή <span> ή <li>. Στον κάθε container θα πρέπει μάλλον να δώσεις από ένα μοναδικό id για να μπορείς να αναφέρεσαι σε αυτόν από τον JavaScript κώδικα, π.χ.:

Κώδικας: Επιλογή όλων

<div id="d11">Ζαρκάδι</div>
<div id="d12">Δελφίνι</div>
Αρχικά αυτά τα elements δεν πρέπει να είναι ορατά, επομένως πρέπει να ορίσεις το στυλ τους σε display:none (ναι, χρειάζεται και CSS!). Η αλλαγή ορατό - μη ορατό μπορεί να γίνει προγραμματιστικά ως εξής:

Κώδικας: Επιλογή όλων

<script type="text/javascript">
  function toggle_visibility&#40;id&#41; &#123;
    if &#40;document.getElementById&#40;id&#41;.style.display == "none"&#41; &#123;
      document.getElementById&#40;id&#41;.style.display = "block"
    &#125; else &#123;
      document.getElementById&#40;id&#41;.style.display = "none"
    &#125;
  &#125;
</script>
Την αλλαγή αυτή θα προκαλεί λογικά το κλικ σε κάποιο master element. Τελικά ο κώδικας θα αποκτήσει μία μορφή σαν την παρακάτω:

Κώδικας: Επιλογή όλων

<div onClick="toggle_visibility&#40;'d11'&#41;; toggle_visibility&#40;'d12'&#41;">Ζώα</div>
<div id="d11" style="display&#58;none">Ζαρκάδι</div>
<div id="d12" style="display&#58;none">Δελφίνι</div>
<div onClick="toggle_visibility&#40;'d21'&#41;; toggle_visibility&#40;'d22'&#41;">Έντομα</div>
<div id="d21" style="display&#58;none">Σκαραβαίος</div>
<div id="d22" style="display&#58;none">Πασχαλίτσα</div>
Όλο αυτό θα πρέπει λογικά να βρίσκεται μέσα στο κελί ενός table ή μέσα σε ένα ακόμα div. Σε αυτή την περίπτωση μπορείς να δώσεις ένα σταθερό ύψος στο div και να του δώσεις το στυλ overflow:scroll ώστε να εμφανίζονται scrollbars όταν ο χρήστης ανοίξει πολλούς φακέλους.

Το παραπάνω παράδειγμα δουλεύει μεν, αλλά είναι εντελώς ακατέργαστο. Η JavaScript μπορεί να γραφτεί πολύ καλύτερα ώστε να μην υπάρχει και η ανάγκη για όλα αυτά τα IDs.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “ASP, ASP.NET”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες