Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Treeview in Datenbank für Crystal Reports abbilden

Letzter Beitrag 07-09-2008 10:29 von Alexander Zeitler. 4 Antworten.
Seite 1 von 1 (5 Treffer)
Beiträge sortieren: Zurück Weiter
  • 07-06-2008 16:57

    Treeview in Datenbank für Crystal Reports abbilden

    verwendetes Datenbanksystem: SQL 2005 Express

    Hallo zusammen,

    ich habe folgende Tabelle:

    idBauabschnitt
    idElternbauabschnitt (Id des Eltern-Knoten, wenn Null, dann Wurzel-Knoten)
    Bezeichnung
    abgeschlossen
    idBaustelle
    Ordnung (Ordnung innerhalb eines Knoten)

    Aus dieser Tabelle setze ich mein Treeview zusammen bzw. speichere es ab.
    Das klappt soweit auch wunderbar.
    Jetzt soll ich allerdings eine Druckansicht für das Treeview in Crystal Reports erzeugen, und zwar in folgender Form:

    Knoten1---Unterknoten1----Unterunterknoten1
    -------------Unterknoten2---Unterunterknoten2
    --------------------------------Unterunterknoten2.1
    --------------------------------Unterunterknoten2.2
    -------------Unterknoten3
    Knoten2----Unterknoten1---Unterunterknoten1

    etc.  ( ---- == Leerzeichen)

    Vorgabe: Der Baum hat maximal die Tiefe 3.
    Da man sich ausgehend von der Tabelle oben in Crystal Reports wahrscheinlich ziemlich einen abbrechen müsste, wollte ich mir einfach eine temporäre Tabelle erzeugen, die im Grunde das oben dargestellte Schema bereits beinhaltet. Also sowas wie:

    idTemp
    Ebene1Bezeichner
    Ebene2Bezeichner
    Ebene3Bezeichner
    Ordnung

    Im Grunde gibt es so für jede "Zeile" einen Datensatz. In einer Zeile ohne Wurzelknoten ist Ebene1Bezeichner einfach leer. Ebenso für Zeilen ohne Wurzelknoten und Unterknoten.

    Jetzt weiß ich nur nicht, wie ich aus der bestehenden Tabelle diese temporäre Tabelle erzeugen soll.
    Hat da jemand eine Idee? Oder habe ich den komplett falschen Ansatz gewählt...


    Danke für jede Hilfe.


    Grüße

     

    Tom

    • IP-Adresse ist Registriert
  • 07-06-2008 17:34 Antwort zu

    AW: Treeview in Datenbank für Crystal Reports abbilden

    Hi Tom,

     ich habe sowas ähnliches für ein CMS gemacht.

    Allerdings nur 2 Ebenen... aber vieleicht hilft Dir der Ansatz weiter:

    Tabelle:
    CMS_Kategorie
    KategorieID
    MainKategorieID  (=> ist mit KategorieID identisch, wenn Hauptkategorie)
    LabelMain ist der angezeigte Text.

    Ziel ist es eine Liste mit den Kategorien zu bekommen in der Form:

    HauptKat1
    |- UnterKat1
    |- Unterkat2
    HauptKat2
    |- UnterKat1
    |- Unterkat2

    Um das innerhalb eines SQL-Statements zu realisieren, habe ich einen View angelegt:
    CMS_Kategorie_View:          Select TOP(100) PERCENT from CMS_Kategorie
    Wobei dies nur für die Ermittlung der Position der Hauptkategorie notwendig ist.

                            

     SELECT     TOP (100) PERCENT 
                            
    (SELECT     Pos
                               
                                    
    FROM          dbo.CMS_Kategorie_View
                               
                                   
    WHERE      (KategorieID = dbo.CMS_Kategorie.MainKategorieID)
                        ) AS PosMain
                     
    CASE WHEN NOT (KategorieID = MainKategorieID ) 
                               
    THEN '|- ' + LabelMain ELSE LabelMain END AS 'LabelMainFormat' ,
                       KategorieID ,Pos, KategorieID, Pos

    FROM         dbo.CMS_Kategorie

    ORDER BY PosMain, CASE WHEN KategorieID = MainKategorieID THEN 1 ELSE 0 END DESC, Pos

     

    Das Ergebnis sieht folgendermaßen aus:

     

     
    1 Festnetz 37 1
    1 |- Tarifrechner 43 2
    1 |- Telefonanbieter 50 3
    1 |- Tagesübersicht 70 4
    1 |- Wochenübersicht 44 5
    1 |- Telefonanschluss 51 6
    1 |- Calling Cards 53 7
    1 |- Telefonauskunft 52 9
    1 |- Lexikon 45 10
    1 |- Tips & Tricks 73 11
    1 |- Forum 49 12
    1 |- Festnetz Artikel 87 13
    1 |- Festnetz News 88 14
    1 |- Festnetz Newsarchiv 95 100
    2 DSL 65 2
    2 |- Tarifrechner 57 2
    2 |- DSL Anbieter 66 3
    2 |- DSL Flatrate Vergleich 91 4
    2 |- DSL FlatrateRechner 39 5
    2 |- DSL Empfehlungen 58 6
    2 |- DSL Anschluss 74 7
    2 |- VOIP 102 8
    2 |- Tips & Tricks 75 9
    2 |- Forum 76 10
    2 |- DSL Artikel 89 11
    2 |- DSL News 90 12
    2 |- DSL Newsarchiv 96 13
    3 Internet by Call 38 3
    3 |- Tarifrechner 55 2
    3 |- Internet Anbieter 56 3
    3 |- Tips & Tricks 42 6
    3 |- Lexikon 71 7
    3 |- Internet Artikel 72 8
    3 |- Forum 60 9
    3 |- Internet News 94 100
    3 |- Internet Newsarchiv 98 110
    4 Mobilfunk 40 4
    4 |- Tarifrechner 69 2
    4 |- Handy Anbieter 64 3
    4 |- SMS-Rechner 77 4
    4 |- Mobilfunk Flatrates 110 8
    4 |- Im Ausland 78 10
    4 |- Forum 81 10
    4 |- Mobilfunk News 92 11
    4 |- Mobilfunk Artikel 93 12
    4 |- SMS senden 80 12
    4 |- Testberichte 105 14
    4 |- Tips & Tricks 79 16
    4 |- Lexikon 99 18
    4 |- Mobilfunk Newsarchiv 97 20
    5 Service 41 5
    5 |- Für Webmaster 82 1
    5 |- Netzkennzahlen 85 8
    5 |- Vorlagen 112 10
    5 |- Newsarchiv 54 11
    5 |- Gästebuch 48 100
    5 |- Forum 106 100
    5 |- Suchergebnis 100 100
    5 |- MeinTariftip Bereich 101 150
    5 |- Ratgeberarchiv 83 170
    5 |- Vorwahlen 84 180
    5 |- Kontakt 103 200
    5 |- Newsletter 111 210
    NULL NULL NULL NULL

     

    • IP-Adresse ist Registriert
  • 07-09-2008 10:11 Antwort zu

    Re: AW: Treeview in Datenbank für Crystal Reports abbilden

    Hallo zuammen,
     
    könnte das mit Common Table Expressions einfacher gehen?
     
     
    Gruss
    Tobias
    • IP-Adresse ist Registriert
  • 07-09-2008 10:25 Antwort zu

    AW: Re: AW: Treeview in Datenbank für Crystal Reports abbilden

    .. juppp das ist einfacher!

    Super Link!

    Chris

    • IP-Adresse ist Registriert
  • 07-09-2008 10:29 Antwort zu

    AW: Re: AW: Treeview in Datenbank für Crystal Reports abbilden

    Im Zusammenhang mit CTEs taucht auch immer wieder die Frage nach alphabetischer Sortierung auf:

    http://blog.alexonasp.net/archive/2006/05/21/mit-common-table-expressions-cte-hierarchisch-und-alphabetisch-sortieren.aspx

    Alex

    • IP-Adresse ist Registriert
Seite 1 von 1 (5 Treffer)