0

Ausblenden der Sortierspalte in Ansicht

Ist es möglich, in einem Ansicht-Gestaltungselement die Spalte, nach der sortiert wird, auszublenden, ohne die Sortierung zu ändern?

Konkret: Ich habe eine Tabelle, die aus numerierten Zeilen besteht und Untertabellen, welche die Spalten zu diesen Zeilen bilden und natürlich nach der Zeilenzahl geordnet werden sollen. Bei der Ansicht als Gestaltungselement in der Zeilentabelle möchte ich nicht die Zeilennummern der Untertabellen anzeigen, weil dies redundant ist und Platz wegnimmt. Blende ich die Zeilennummer aber aus, dann sortiert Ninox die Ansichten automatisch nach der angezeigten Spalte und bringt damit alles durcheinander ...

4 Antworten

null
    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Reinhard,

     

    nein, Ninox sortiert nur nach sichtbaren Spalten... Du könntest Dir aber ein funktionsfeld anlegen, welches den Inhalt deiner Untertabellen via cnt(Untertabelle) zählt... Somit hast du ein schlankes Feld und kannst darüber sortieren...

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Sorry, dir gehts nicht um die ZailenANzahl, sondern um die sortierung anhand der Zeilen der Untertabelle.

    Wie bilden denn die Untertabellen die Spalten? Kommst Du evtl. mit "order by" in einem "select-Befehl" weiter?

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Reinhard,

    nein, das geht leider nicht. Als workaround kann man folgendes tun:

    Angenommen die Nummerische Spalte, nach welcher sortiert werden muss, heißt NUMMER und die erste Textpalte, die angezeigt wird, heißt TEXT. Die Hauptabelle heißt HAUPTTABELLE und die Untertabelle heißt UNTERTABELLE. Man geht in die Spalte TEXT und trägt bei der Funktion folgende Formel ein:
    ---

    let me := this;
    let myZ := cnt(HAUPTTABELLE.UNTERTABELLE[NUMMER >= me.nNUMMER(Nr)]);
    lpad(TEXT, myZ + length(TEXT), " ")

    ---

    Dabei ist es zwischen Anführungszeichen in der dritten Zeile eine kombination aus "Shift+Space". Die Formel fügt diese Leer-Kombinazion zu dem Text. Die Leerzeichen werden in der Tabelle nicht angezeigt aber wohl für die Formatierung gezählt. Wenn du jetzt nach diese Spalte sortiest, werden die Zeilen so angeordnet als wären sie nach der Spalte NUMMER sortiert.

    Leider kann man damit nicht im Layout sortieren - dort werden nähmlich die Leehrzeichen alle angezeigt.

     

    Leo

    • Universität Bonn
    • Reinhard_Zollner
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke für alle Hinweis. Nach einigem Ausprobieren habe ich folgende Lösung gefunden:

    In der Untertabelle lege ich ein neues Funktionsfeld "Resultat" an. Es wird nach folgender Formel berechnet:

    let me := this;
    lpad(Ergebnis, me.OBERTABELLE.Zeile + length(TEXT), " ")

    In der Ansicht lasse ich nur Resultat anzeigen; ich muss dann allerdings absteigend sortieren. Die Leerzeichen werden erwartungsgemäß nicht angezeigt.