0

Html Darstellung macht Leerzeile

Hat einer ne Idee wie man die Leerzeilen bei mehreren Ergebnissen in einer Zelle vermeiden kann? ( DB Anwesenheit ist die Vorlage)

function Row(row : Team) do
    let yMax := 0;
    let items := (row.'Aufträge'['Liefertermin von' <= date1 and 'Liefertermin bis' >= date0] order by 'Liefertermin von');
    let yPositions := "";
    let bars := join(for item in items do
            let items2 := items['Liefertermin von' <= item.'Liefertermin von' and
                        'Liefertermin bis' >= item.'Liefertermin von' and
                    Nr != item.Nr];
            let y := 0;
            for item2 in items2 do
                let y2 := number(extractx(yPositions, number(item2.Nr) + "=([0-9]+)", "$1"));
                y := max(y, y2 + 1)
            end;
            yPositions := yPositions + " " + number(item.Nr) + "=" + y;
            "let y := count(items['Erster Tag' < item.'Erster Tag' and 'Letzter Tag' >= item.'Erster Tag'])";
            yMax := max(y, yMax);
            Bar(item, y)
        end, "");
    ---
<div class="nxp-timeline-row" style="height:{ (yMax + 1) * 36 + 6 }px">
    <div class="nxp-timeline-cell nxp-timeline-name"  onclick="ui.popupRecord('{ row.Nr }')"style="background-color:{ color(row.Farbe) }">>{ row.Teamauswahl }</div>{ for day from 0 to days do Cell(row, date(date(number(aa), 1, 4) - weekday(date(number(aa), 1, 4)) + number(bb) * 7 - 7 + 1)) end }{ bars }
</div>
    ---
end;

Ich glaube es hat irgendwas mit der variable y zu tun. Aber ich komm trotzdem nicht auf eine Lösung.

Bei nur einem Ergebnis für die Zelle ist die Ausgabe ganz oben. Doch ab 2 Ergebnissen für eine Zelle, ist die erste Zeile leer. Als ob hier " y := max(y, y2 + 1)" schon eine Anzahl größer 0 hinterlegt ist. Vielleicht liege ich ja aber auch komplett falsch in meiner Annahme mangels wissen.

Läßt mir aber keine Ruhe, trübt einfach die Optik 

2 Antworten

null
    • Michi.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    wenn ich die variable y in der Funktion Bar() ändere bekomm ich die Richtige anfangsposition (höhe) in den zellen wenn diese meherer einträge haben. Beginnend bei 4px. 

    (let top := y * 36 + 4 - 36;
    <div class="nxp-timeline-bar{ class }" data-nid="{ item.Nr }" style="left:{ left }px;top:{ top }px;width:{ width }px;background-color:{ color };border-color: { border }" onclick="ui.popupRecord('{ item.Nr }')" >)

     

    wenn ich sie normal belasse und meherer einträge habe, so ist die anfangsposition bei 40px.

     (let top := y * 36 + 4 )

    Wie kann man das denn abändern?

    Hab es mit:  let top:=  if number(y) >1 then y * 36 + 4 - 36 else y * 36 + 4 probiert geht aber nicht .

     

    Falsche Anzeige:

      • Michi.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Muss auf > 0 abfragen dann gehts: 

      let top := if number(y) > 0 then y * 36 + 4 - 36 else y * 36 + 4 end;

      Dann beginnt jeder eintrag bei 4px. (unten ist allerdings dann eine freie zeile, aber wenigstens ist es oben bündig)

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 2Antworten
  • 69Ansichten
  • 1 Folge bereits