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 10 Monaten
    • Gemeldet - anzeigen

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

    • mirko3
    • vor 10 Monaten
    • Gemeldet - anzeigen

    Thank you. I am looking for. Mirko

    • Rafael_Sanchis
    • vor 10 Monaten
    • Gemeldet - anzeigen
    • mirko3
    • vor 10 Monaten
    • Gemeldet - anzeigen

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

      • Rafael_Sanchis
      • vor 10 Monaten
      • Gemeldet - anzeigen

       

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

      • mirko3
      • vor 10 Monaten
      • Gemeldet - anzeigen

      Sample DB with some Dummy-Values?

      • Rafael_Sanchis
      • vor 10 Monaten
      • Gemeldet - anzeigen

       

      • mirko3
      • vor 10 Monaten
      • Gemeldet - anzeigen

       my suggestion

      • Rafael_Sanchis
      • vor 10 Monaten
      • 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 10 Monaten
    • Gemeldet - anzeigen

Content aside

  • 1 „Gefällt mir“ Klicks
  • vor 10 MonatenZuletzt aktiv
  • 10Antworten
  • 104Ansichten
  • 2 Folge bereits