Flex DataGrid: Programmgesteuertes Hervorheben Von Zeilen
Dies scheint wie etwas, das sollte schmerzhaft einfach, aber ich kann auch nicht finden, wie eine Schleife durch die Zeilen in einer Flex DataGrid.
Im Grunde, was ich versuche zu erreichen, ist so etwas wie pseudo-code:
for each(var row:Row in myDataGrid.Rows)
{
if(row.DataObject.Number == 1)
{
row.Color = Red;
}
}
Ich versuche, eine Save-Schaltfläche, auf die geklickt haben entweder Prozesse, die sparen Sie, oder hebt die ungültigen Zeilen und öffnet sich eine Meldung, die den Benutzer darüber informiert, warum die Zeilen sind ungültig. Aufgrund von einigen anderen Komplexitäten, ich bin nicht in der Lage zu überprüfen, die jede Zeile bei der Eingabe. Jede Hilfe ist willkommen! Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Daten-grids sollen die angetrieben werden, indem Sie Ihre Daten, anstatt Sie direkt manipuliert werden. Ein Weg, das zu erreichen, was Sie versuchen zu tun ist, fügen Sie eine Art von Immobilie, sagen Sie "gültig", um die Daten der Objekte in Ihrer-provider und hinzufügen von code, um den renderer zu ändern sein Aussehen basiert auf dem Status "gültig". Auf diese Weise könntest du in einer Schleife durch die Objekte in Ihrem Daten-provider, und legen Sie die "gültig" - Eigenschaft basierend auf Ihre Gültigkeit prüfen, die dazu führen, dass die Zeilen in der Datentabelle ändern Ihr Aussehen automatisch.
Hoffe, das hilft.
Probieren Sie etwas wie dieses:
In mxml können Sie die selectionColor des datagrid-Steuerelements auf rot. Siehe: http://blog.flexexamples.com/2008/02/19/setting-the-selection-color-and-selection-disabled-color-for-a-row-in-the-flex-datagrid-control/
Lassen Sie mich wissen, wenn dieses für Sie arbeitet!
Ich bin nicht sicher, dass Sie tun können, es auf die Daten-grid selbst, aber wenn Sie einen Elementrenderer für jedes der Elemente haben, können Sie Ihren Hervorhebung Logik.
grundsätzlich definieren Sie die datagrid-Element-renderer-Klasse:
<mx:DataGrid itemRenderer="ItemRendererClass"(...) ></mx:DataGrid>
und dann definieren Sie die Klasse "ItemRendererClass" als Umsetzung IDataRenderer:
Dies ist eine vereinfachte Erklärung, vorausgesetzt, Sie können herausfinden, wie diese auf dich 🙂
Ich erreichte dies durch überschreiben der Daten festlegen. Ich habe den Beispiel-code unten.