Results 1 to 4 of 4

Thread: Struct in List&Label

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Nov 2011
    Location
    Germany Hamburg
    Posts
    215

    Default Struct in List&Label

    Hallo ,

    Ich benutze DF18.1 + LL20

    ich versuche gerade das Beispiel in der "combit List & LabelLibrary for (Visual) DataFlex V20.0" Seite 11-12 um zu setzen.
    ich habe soweit alle Element 1zu1 aus dem Dokument übernommen und das Struct gefüllt.
    Der Berichtskontainer in LL läst sich mit "freier Inhalt" erstellen. Auch die Felder werden erkannt. Nur in LL werden dann keine Daten gezeigt.

    Habe ich evtl. den letzten Satz nicht richtig verstanden?
    "Now you can fill data into a variable based on tShippingAddress and simply set the property paShippingAddress to the variable."

    geht das evtl. auch im VRW?

    Ralf

  2. #2
    Join Date
    Jul 2009
    Location
    Wiesbaden, Germany
    Posts
    245

    Default Re: Struct in List&Label

    Hallo Ralf,

    ich denke, die Option mit dem Struct ist nur dafür gedacht, um zusätzliche Informationen zu einem normalen Datensatz zur Verfügung zu haben, oder wenn Datensätze komplett von einem selbst in L&L ausgegeben werden (mit PrintData).

    Wir verwenden meistens, wenn wir keine richtigen Tabellen verwenden (können) die virtuellen DDs.
    Dafür erzeugen wir in der DefineAllFields ein LLDo, fügen diesem die gewünschten Felder hinzu und füllen die Daten dann in der OnStartTable.

    Code:
    Procedure DefineAllFields
        Handle hoDo
        Boolean bRet
        Forward Send DefineAllFields
        Get CreateLLDo "Tabelle" to hoDo
        Get AddField of hoDo "NummernFeld" LL_NUMERIC to bRet
        Get AddField of hoDo "TextFeld" LL_TEXT to bRet
    End_Procedure
    
    Procedure OnStartTable Integer hoDDo Integer hoParentDdo Integer iTableLevel String sRelation
        Variant[][] vaData
        
        Move 1 to vaData[0][0]//NummernFeld
        Move "Toller Text" to vaData[0][1]//TextFeld
        
        ...
        
        Send SetLLDoData hoDDo vaData
    End_Procedure
    Im Report selbst verwenden wir dann die "Tabelle" (oder wie auch immer man sie genannt hatte), anstelle von "freier Inhalt".

    DataFlex Reports hat auch ein ähnliches Konzept, dass sich Runtime DataSource nennt und ähnlich verwendet wird.
    Allerdings gibt man in diesem Fall die Tabellen und Spalten bereits im Report an und diese werden dann vom "Integration Wizard" bereits zum Füllen in die "AddRDSData" Routine des Report Objektes eingefügt
    Code:
    // Note: The Runtime DataSource row will be rejected if:
    // 1: The number of elements in the 2nd dimension does not match with the row layout
    // 2: The data-type of any element in the 2nd dimension does not match, cannot be
    //    converted to the data-type defined in the row layout. For example: A zero date
    //
    Function AddRDSData String sTableName Integer iSibling Integer iLevel Returns Variant[][]
        Variant[][] vData
        Integer iRow
        String sArt sSKUser
        Number nWert
        
        Move 0 to iRow
        
        Case Begin
            Case (iSibling = -1 and iLevel = 0 and sTableName = "Tabelle")
    // ToDo:  Modify the sample code to fill the RDS array for the table Tabelle
    // The first dimension identifies the row, the second dimension identifies the column.
    //              Repeat
    //                    Move Number to vData[iRow][0] // Name: NummernFeld, Length: 4, Datatype: Number
    //                    Move String to vData[iRow][1] // Name: TextFeld, Length: 100, Datatype: String
    //                    Increment iRow
    //              Loop
            Case Break
        Case End
        
        Function_Return vData
    End_Function

  3. #3

    Default Re: Struct in List&Label

    Hallo Ralf

    Die Möglichkeit Daten per Strukturen zu übergeben ist tatsächlich bereits veraltet. Diese Art der Datenübertragung kann/konnte eigentlich nur verwendet werden wenn man die komplette Druckschleife selbst ausprogrammiert hat. Jedoch sind mit dem Einsatz des Berichtscontainers und der ganzen Möglichkeiten die sich daraus ergeben die Anforderungen an die Druckschleife so komplex geworden dass es viel einfacher ist die fertige mitgelieferte Druckschleife zu verwenden.

    Wie bereits GhostShot erwähnt hat bieten die DataObjects eine simple und effektive Möglichkeit "virtuelle Tabellen" (also Tabellen die nicht über ein DataDictionary angesprochen werden können) für List & Label zur Verfügung zu stellen. Das in dem Posting gezeigte Beispiel sollte wie gewünscht funktionieren.

    HTH
    Bernhard

  4. #4
    Join Date
    Nov 2011
    Location
    Germany Hamburg
    Posts
    215

    Default Re: Struct in List&Label

    Besten Dank funktioniert bestens...

    Ralf

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •