SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




jQuery - Felder in Listenansicht rot anzeigen

Geprüfte Antwort Dieser Beitrag hat 5 Antworten

Ohne Rang
142 Beiträge
Andman erstellt 8 Feb. 2016 10:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

 

Hallo!

Ich habe eine Listenansicht. (Siehe Bild)

Ich möchte das jede Zeile durchgegangen und verglichen wird, ob in einem Monat die Monatliche Kapazität überschritten wird. Dieses Feld soll dann rot hinterlegt werden.

Das Problem ist, das mal mehr oder weniger Zeilen angezeigt werden. Je nachdem wie viele Mitarbeiter im Einsatz sind. Die Zeilen und Felder haben im HTML Code auch keine festen ids. Somit tute ich mir schwer die ordentlich zu selektieren, bin nicht so fit mit jQuery und HTML.

Vielleicht kann mir da einer nen Tipp geben. Bzw. Wie selektiere ich in dem Fall z.B. die erste Zeile -> Feld 3 (170) und Vergleiche diesen Wert mit den Monaten dahinter.

Für Hilfe wäre ich dankbar :)

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2016 11:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das macht man anders ;-)

Nicht nachträglich, wenn die Ansicht schon fertig ist, sondern gleich beim Aufbau. Benutze die Suchmaschine Deiner Wahl, um nach JSLink bzw. CSR zu suchen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
142 Beiträge
Andman Als Antwort am 8 Feb. 2016 11:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich schau mal danke.

Ohne Rang
142 Beiträge
Andman Als Antwort am 8 Feb. 2016 15:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok, JSLink hat gut funktioniert. :) Hat auch den Vorteil, dass die Änderung direkt geladen werden. Bei jQuery sieht man manchmal den Verzug. Hatten schon mal was mit JSLink gemacht, hatte ich aber nicht mehr so auf dem Schirm. Wenn man halt nicht so oft damit arbeitet. Aber macht auf jeden Fall was es soll. :)

..ich häng mal das Script mit an. Falls mal jemand ne ähnliche Anforderung hat:

<script type="text/javascript">
(function () {
    var coloringFieldContext = {};
    coloringFieldContext.Templates = {};
    coloringFieldContext.Templates.Fields = {
        "Month1": { "View": coloringFieldTemplate },
        "Month2": { "View": coloringFieldTemplate },
        "Month3": { "View": coloringFieldTemplate },
        "Month4": { "View": coloringFieldTemplate },
        "Month5": { "View": coloringFieldTemplate },
        "Month6": { "View": coloringFieldTemplate },
        "Month7": { "View": coloringFieldTemplate },
        "Month8": { "View": coloringFieldTemplate },
        "Month9": { "View": coloringFieldTemplate },
        "Month10": { "View": coloringFieldTemplate },
        "Month11": { "View": coloringFieldTemplate },
        "Month12": { "View": coloringFieldTemplate }
    };
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(coloringFieldContext);
})();

function coloringFieldTemplate(ctx) {
    var currentFieldValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
    var currentRefferedFieldValue = ctx.CurrentItem["MonthlyCapacity"];
   
    var month1 = parseInt(currentFieldValue);
    var wert = parseInt(currentRefferedFieldValue);
    var wertanteil = wert - (wert * 0.10);

    if (month1 > wert) {
        return "<div align='right' class='ms-number' style='color: red;'><b>" + month1 + "</b></div>";
    }
    else if (month1 < wertanteil){
        return "<div align='right' class='ms-number' style='color: green;'><b>" + month1 + "</b></div>";
    }
    else if (month1 > wertanteil){
        return "<div align='right' class='ms-number' style='color: orange;'><b>" + month1 + "</b></div>";
    }
    else if ("NaN"){
        return "<div align='right' class='ms-number' style='color: green;'></div>";
    }
}
</script>

Ohne Rang
49 Beiträge
KlausBergmann Als Antwort am 8 Feb. 2016 11:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut
Hallo, würde ich im SPDesigner mit bedingter Formatierung der Spalten machen. Wenn Spalte Monat X > Spalte A; Schrift rot. Gruß Klaus
Ohne Rang
142 Beiträge
Andman Als Antwort am 8 Feb. 2016 11:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bedingte Formatierung geht doch mit dem SharePoint Designer 2013 gar nicht mehr oder?! Bei 2010 war das ne feine Sache.