30. oktober 2000 - 13:49Der er
8 kommentarer og 1 løsning
Dictionary med træstruktur
Jeg vil gerne på en asp side oprette en træstruktur med en kategori og under hver kategori, et antal linier med nogle titler, jeg har følgende, men det virker ikke helt, den fejler når jeg vil oprette contentid og titel under en kategori og siger \'Object Required\':
Set s = CreateObject(\"Scripting.Dictionary\") Do While (Not Mrec.EOF) if s.Exists(Mrec(\"Category\")) then s(Mrec(\"Category\")).Add Mrec(\"ContentID\"),Mrec(\"Title\") else s(Mrec(\"Category\")) = Mrec(\"Category\") s(Mrec(\"Category\")).Add Mrec(\"ContentID\"),Mrec(\"Title\") End if Mrec.MoveNext Loop
Er der nogle der har et forslag til hvordan jeg får denne træstruktur op??
Hvorfor laver du det ikke bare i en database. Med en kategori, som kan have et parent id. Så hver gang du henter siden, selecter du bare på baggrund af parent ID? Meget lettere, og pænere.
Jeg har en db (Mrec). Fordi jeg gerne vil kunne udtrække og gruppere Mrec\'s uden at lave om i tabel strukturen. Jeg ved at Dictionary kan klare opgaven, jeg kender bare ikke syntaksen......
Selvfølgelig. Jeg havde ikke lige set din do while NOT EOF.
Hvorfor løber du ikke bare recordsettet igennem, og skriver en ny Kategori ud hvergang den skifter, og herefter lister title. Som jeg ser det må dit recordset se sådan ud. spændingsromaner, 1, de 37 trin spændingsromaner, 2, de nye 37 trin spændingsromaner, 3, de seneste 37 trin fagliteratur, 1, databasebogen fagliteratur, 2, algoritmebogen fagliteratur, 3, OOA & D
Fordi jeg ikke pt. har adgang til at sortere db-kaldet, forespørgslen sker igennem siteserver og herunder en ms sql 7.0 db., Derfor vil jeg opsamle oplysningerne i et dictionary og herefter udskrive hver kategori og under hver kategori via en lække udskrive de forskellige titler.
Du skal have oprettet en del Dictionary-objekter: IF NOT isObject(dictCategory) THEN Set dictCategory=Server.CreateObject(\"Scripting.Dictionary\") END IF
Derefter opretter du en række key-item par, hvor din key=KategoriNavn, og item er et nyt dictionary objekt, som du opkalder efter din kategori. I denne under dictionary opretter du ligeså key-item par, hvor key=bogens primærnøgle fra db\'en og item=titlen på bogen. Eksempel med krimi: IF NOT dictCategory.Exists(Mrec(\"Category\")) THEN navn=Mrec(\"Category\") Set navn = Server.CreateObject(\"Scripting.Dictionary\") navn.Add Mrec(\"contentID\"), Mrec(\"title\") END IF
Hmm jeg har ikke lige prøvet det, men mon ikke det er noget lignenede du skal bruge??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.