1

hierarchische Liste

Für eine kleine Übersicht suchte ich eine Möglichkeit, eine hierarchische Sortierungen durchzuführen. Ich wollte sie einfach, dynamisch und ohne HTML nur mit NINOX-Code. Notwendig ist es in einem Textfeld die Nummerierung abzulegen. Ein Funktionsfeld berechnet den Index. Der Code geht nur bis zur 4. Tiefe, kann aber erweitert werden. Ich lege mal die Datei bei, falls das mal für andere ein Thema sein sollte. Ich habe zwei Ansichtsmöglichkeiten: a. Sortierung direkt in der Tabelle, b. Funktion im Dashboard. Bei riesigen Datenmengen sind sicher Geschwindigkeitseinbußen möglich, dann geht nur die Dashboardvariante. Falls jemand hier es besser/einfacher gelöst hat, oder bugs findet, dann ruhig posten. Mirko

 

10 Antworten

null
    • Rafael_Sanchis
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Hi Mirko, There is a problem when it is greater than 9 items.

    • mirko3
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Thank you. I am looking for. Mirko

    • Rafael_Sanchis
    • vor 7 Tagen
    • Gemeldet - anzeigen
    • mirko3
    • vor 7 Tagen
    • Gemeldet - anzeigen

    My mistake. Old thing, order by text... bugfix.

      • Rafael_Sanchis
      • vor 7 Tagen
      • Gemeldet - anzeigen

       

      Hi Mirko, some complicate, there are some way to sum the values rollup.

      • mirko3
      • vor 7 Tagen
      • Gemeldet - anzeigen

      Sample DB with some Dummy-Values?

      • Rafael_Sanchis
      • vor 7 Tagen
      • Gemeldet - anzeigen

       

      • mirko3
      • vor 6 Tagen
      • Gemeldet - anzeigen

       my suggestion

      • Rafael_Sanchis
      • vor 6 Tagen
      • Gemeldet - anzeigen

       

      Thanks a lot work perfect👋

      I add in the SumBudget

      let x := split(WBS, ".");
      switch true do
      case cnt(x) = 2:
          sum((select List
                  where (
                      let a := split(WBS, ".");
                      item(a, 0) + "#" + item(a, 1) = item(x, 0) + "#" + item(x, 1) and cnt(a) > 3
                  )).Budget)
      case cnt(x) = 3:
          sum((select List
                  where (
                      let a := split(WBS, ".");
                      item(a, 0) + "#" + item(a, 1) + "#" + item(a, 2) = item(x, 0) + "#" + item(x, 1) + "#" + item(x, 2) and
                      cnt(a) > 3
                  )).Budget)
      case cnt(x) = 4:
          sum((select List
                  where (
                      let a := split(WBS, ".");
                      item(a, 0) + "#" + item(a, 1) + "#" + item(a, 2) + "#" + item(a, 3) = item(x, 0) + "#" + item(x, 1) + "#" + item(x, 2) + "#" + item(x, 3) and
                      cnt(a) > 4
                  )).Budget)
      default:
          Budget
      end
      
    • Rafael_Sanchis
    • vor 6 Tagen
    • Gemeldet - anzeigen