| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2008
Beiträge: 16
| DataGrid + CellRenderer + Scrollbar = Chaos
Hallo, ich habe ein zweispaltiges DataGrid mit vertikaler Scrollbar. Um eine Zeile bei MouseOver und bei Klick durch weiße Schrift hervorzuheben, nutze ich den CellRenderer. Das klappt alles wunderbar, solange ich nicht die Scrollbar benutze. Dann nämlich passiert Folgendes: Vorausgesetzt man hat zuvor eine Zeile angeklickt, wandert das Highlight der 2.Spalte beim Srollen mit. d.h. Wenn ich die 1.Zeile angeklickt habe, ist während des Scrollens immer dier Text der obersten sichtbaren Zeile weiß. Habe ich zuvor die 3 Zeile angeklickt, bleibt immer der Text der 3. sichtbaren Zeile weiß. Die 1. Spalte verhält sich wieder anders. Diese wandert beim Scrollen nicht mit. Aber wenn ich die 1. Zeile angeklickt habe, ist auch die erste sichtbare Zeile weiß, wenn ich ganz nach unten scrolle. Ich denke es hat irgend etwas etwas damit zu tun, dass im DataGrid die Zellen immer neu belegt werden sobald man scrollt. D.h. wenn ich die den CellRenderer den Zellen in der ersten Zeile zuweise, dann wandern weder die Zellen noch der Renderer beim Srollen weiter, sondern bleiben an Ort und Stelle und werden nur mit neuen Daten befüllt. Ich hoffe ich habe das in der Doku richtig verstanden! Wie kann ich denn nun verhindern, dass der CellRenderer beim Scrollen immer wieder von vorne anfängt und das x-te Element im sichtbaren Bereich rendert? Danke! |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2008
Beiträge: 16
|
...ach und noch etwas: Wenn ich Bei Click auf ein neues Item das alte Item wieder in der normalen Farbe darstellen möchste, gibt es ein Problem, wenn das bisher ausgewählte Item außerhalb des sichtbaren Bereichs liegt. Wenn es also vorher raus gescrollt wurde. Das Ergebnis ist immer eine NullPointerException bei Aufruf von getCellRendererAt(oldIndex) Aber gehört wahrscheinlich in die gleiche Ecke wie das, was ich zuerst geschrieben habe. Geändert von Wanja (22-10-2008 um 18:06 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |