Wie kann ich die Hintergrundfarbe einer Zelle in eine jqgrid für einen benutzerdefinierten Formatierer?

Ändern kann ich die Farbe für den text dadurch in jqgrid benutzerdefinierten Formatierer:

function YNFormatter(cellvalue, options, rowObject)
{
    var color = (cellvalue == "Y") ? "green" : "red";
    var cellHtml = "<span style='color:" + color + "' originalValue='" +
                                cellvalue + "'>" + cellvalue + "</span>";

    return cellHtml;
 }

will ich aber jetzt ändern Hintergrundfarbe der gesamten Zelle (statt der text-Farbe).

Ist das möglich?

  • Überprüfen Sie aktualisierte Antwort.
  • ich fügte hinzu, ein weiterer Kommentar
  • Man sollte Sie nur verwenden 'background-color' statt 'color' aus und legen Sie zusätzliche Stil 'background-image':'none' zu entfernen, das Bild im hintergrund stammt noch aus der jQuery-UI-Klasse "ui-widget-content'. Wenn Sie möchten, zusätzlich die standard-Farbe für den Schwebeflug oder/und die ausgewählten Zeilen, die Sie verwenden können, Technik, die ich beschrieben in stackoverflow.com/questions/4956949/...
  • hintergrund-Farbe ist nur für die Spannweite (und nicht die ganze TD-Zelle)
  • In deiner Frage hast du geschrieben, dass Sie wollen/müssen, verwenden Sie einen benutzerdefinierten Formatierer. Der text zurückgegeben, indem die benutzerdefinierte formatter-platziert werden in den <td> Zelle. So in der Art du hast keine chance, zu ändern, die <td> selbst. Maximale, was Sie tun können, ist, platzieren Sie jedes element wie <span> haben könnte, die gesamte Größe des <td> (abhängig von der verwendeten CSS). In dem Fall ist der hintergrund der <span> sehen sein wird, für die der Benutzer genau wie der hintergrund der Zellen. Verwenden von benutzerdefinierten formatter können Sie nicht mehr tun.
  • Alle klar Mach ich und schrieb meine Antwort.
  • vielen Dank für das Beispiel (und Ihre Geduld).. in der Tat sehr hilfreich

InformationsquelleAutor leora | 2010-07-14
Schreibe einen Kommentar