So ändern Sie die Farbe der ag-Rasterzellen für dynamisch sich ändernde Daten
Ich habe eine Tabelle, die Lasten von sich dynamisch verändernden Daten. Es regeneriert alle 5 Sek.
Ich bin mit der ag-raster für es mit diesem Beispiel: https://www.ag-grid.com/javascript-grid-sorting/index.php
Ist es möglich, ändern Sie die Farbe der Zellen, deren Werte ändert, wie angenommen, eine Zelle-Wert ist 100 und es wird (weniger ist als dies, D. H. <100), so dass die Zelle rot Farbe, id, es wird größer, damit es die Farbe grün.
Ich versuche es anhand dieses Beispiels: https://www.ag-grid.com/javascript-grid-cell-styling/index.php
Aber ich kann nicht verstehen, wie dies zu tun.
UPDATE: ich mache es auf diese Weise, aber es ist nicht die änderung der Farbe:
var columnDefs = [
{headerName: "Arr Px Slippage", field: "total_wt_arr_slp", width: 100, newValueHandler: compareValues},
{headerName: "IVWAP Slippage", field: "total_wt_ivwap_slp", width: 100}
];
function compareValues(params) {
if (params.oldValue > params.newValue){
return {color: 'green', backgroundColor: 'black'};
console.log(params.newValue);
}
if (params.oldValue < params.newValue){
return {color: 'red', backgroundColor: 'black'};
}
}
InformationsquelleAutor shek | 2016-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie geschrieben haben, ist meistens richtig:
Und die info Jarod Moser gab Sie über das params-Objekt für diesen Rückruf ist vor Ort auf und wichtig.
Das Problem, das Sie haben ist, dass Sie versuchen, zu
return {style}
aber das kannst du nicht tun. Sie müssen Zugriff auf das html-element (das mit<div>
) und eine Klasse (nachdem die Klasse definiert, mit dem Stil, den Sie wünschen). Ich habe dies getan, im ag-Gitter, wo ich Zugang zuparams.eGridCell
aber in diesem speziellen Rückruf eGridCell ist nicht verfügbar. Wenn ich finde, ein guter Weg, um auf der<div>
ich werde Bearbeiten Sie diesen Beitrag mit dem, was ich gefunden habe.BEARBEITEN - Zusätzliche Informationen
Ich glaube nicht, dass ich verwenden würde, die newValueHandler für das, was Sie zu tun versuchen.
Ihnen nicht sagen, wie Sie die Daten aktualisieren, aber Sie sagen, es ist möglicherweise aktualisiert alle 5 Sekunden.
Aber Sie entscheiden, zu aktualisieren, eine Zelle, die Sie hinzufügen könnte, um die rowData-Objekt eine Eigenschaft "origValue', und vor der Aktualisierung der Wert der Zelle, setzen Sie den aktuellen Wert für 'origValue' und legen Sie dann den neuen Wert zu Wert. DANN... Sie konnte die
cellClass
column-Eigenschaft, mit Hilfe einer callback-Funktion und vergleichen Sie den neuen Wert der 'origValue' und kehren den gewünschten Stil.Beispiele aus der Dokumentation:
Dem params-Objekt für cellClass hat Zugriff auf die row-Daten, und wird in der Lage sein zu vergleichen, die neue und orig Werte.
Es gibt viele Optionen, wenn Sie Sie einmal Graben. Wählen Sie, was Sie denken, ist am besten.
InformationsquelleAutor JohnR
Eigentlich ich habe mir gerade funktioniert.
Sie müssen "cellClassRules" - Attribut für jede Spalte, wo Sie wollen, um die Farbe zu ändern. So etwas wie:
Hier 'x' in der Regel ist der Wert der Spalte.
Auch, müssen Sie markieren die Spalte, die als voaltile: true.
Für volatile-Felder dynamisch zu ändern, müssen Sie
api.softRefreshView()
während Sie das aktualisieren der Daten.Die css-Klasse 'Fett und rot'can definiert werden, die in Ihrer html-Datei wie:
.Fett und rot {
Farbe: dunkelrot;
font-weight: bold;
}
softRefreshView()
veraltet ist, so habe ich.refreshCells()
InformationsquelleAutor jsmtslch
Sieht aus wie Sie sollten in der Lage sein zu verwenden, die
newValueHandler
das ist ein Attribut für jede Spalte.Aus der docs:
Also etwas entlang der Linien von:
Alle updates zu diesem haben?
Updates bitte?
Haben Sie versucht, mit cellValueChanged statt newValueHandler? es war auf der gleichen Seite, dass ich verbunden hatte, um Sie für Ihre Referenz.
Wie verwenden Sie diese? Es gibt kein Beispiel auf dem link, den Sie entweder newValueHandler oder CellValueChanged
InformationsquelleAutor Jarod Moser
Hier ist das code-snippet, wo können Sie ändern die Farbe der ag grid-Zelle, die text-und die Hintergrundfarbe.
InformationsquelleAutor Rajanikanta Pradhan