ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
1943
1943
EMPFEHLEN
-
Hallo,
ich bastele gerade an einer kleinen Flex-Anwendung, in der eine Liste mit Elementen vorkommt, die abhängig von den jeweiligen Inhalten eingefärbt werden sollen. Dazu steht im Datenobjekt eine Eigenschaft namens color, auf die ich dann in einem eigenen itemRenderer zugreife.
Der Text wird über die toString-Funktion des Datenobjekts generiert.
Hier noch der Codeausschnitt mit dem itemRenderer:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
<mx:List id="shoutListControl" dataProvider="{shoutList}" styleName="shoutList" variableRowHeight="true" verticalScrollPolicy="on" horizontalScrollPolicy="off" selectable="false" left="0" top="25" bottom="0" right="0" textAlign="left" labelFunction="shoutToString"> <mx:itemRenderer> <mx:Component> <mx:HBox backgroundColor="{data.color}" backgroundAlpha="1.0" styleName="shoutListItem" width="{this.width-2}"> <mx:Text id="shoutText" styleName="shoutBody" width="100%" htmlText="{data}"/> </mx:HBox> </mx:Component> </mx:itemRenderer> </mx:List>
So, damit komme ich zum eigentlichen Problem. Auf den ersten Blick scheint beim aufrufen zwar alles in Ordnung, aber sobald man scrollt, erscheinen leere Einträge (die allerdings korrekt eingefärbt sind). Mit ein wenig herumscrollen schafft man es manchmal, die Einträge zu füllen, was zu einem unerträglichen herumhüpfen der Scrollleiste führt.
Ein Lösungsversuch sah so aus:
Das führt dazu, dass die Einträge von der ersten Seite beim runterscrollen einfach nochmals in der gleichen Reihenfolge erscheinen.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
<mx:List id="shoutListControl" dataProvider="{shoutList}" styleName="shoutList" variableRowHeight="true" verticalScrollPolicy="on" horizontalScrollPolicy="off" selectable="false" left="0" top="25" bottom="0" right="0" textAlign="left" labelFunction="shoutToString"> <mx:itemRenderer> <mx:Component> <mx:HBox creationComplete="init();" backgroundAlpha="1.0" styleName="shoutListItem" width="{this.width-2}"> <mx:Script> <![CDATA[ public function init():void { shoutText.htmlText = data.toString(); this.setStyle("backgroundColor", data.color); } ]]> </mx:Script> <mx:Text id="shoutText" styleName="shoutBody" width="100%"/> </mx:HBox> </mx:Component> </mx:itemRenderer> </mx:List>
Hat da jemand Lösungsansätze?
-
Ok, ich habs inzwischen aufgegeben, es so zu versuchen. Meine neuer, funktionierender Ansatz lautet: Einfache VBox nehmen, den Rest mit eigenem Code Managen. Funktioniert jetzt einwandfrei. Für die Elemente selbst habe ich eine Extra-Komponente erstellt.
Ähnliche Themen
-
Horizontale Liste wie bei sevenload scrollen?
Von finkenmann im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 31.07.07, 01:38 -
Anfänger hat Probleme mit dem scrollen
Von Oldie2006 im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 22.09.06, 16:25 -
Probleme beim scrollen
Von kingafro im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 21.07.05, 13:47 -
Eine zur Navigation formatierte Liste macht im Firefox Probleme
Von Alexander Feil im Forum CSSAntworten: 4Letzter Beitrag: 05.02.05, 22:17 -
Probleme mit dem Scrollen
Von thebestmaster im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 15.03.04, 14:47





Zitieren
Login




